JSFiddle - React, Tailwind, and code Playground

HTML

<script src="//cdnjs.cloudflare.com/ajax/libs/knockout-validation/1.0.2/knockout.validation.min.js"></script>
<p>Note: Ireland has no required zip codes, other countries do.</p>

<p>Country: <select data-bind="options: availableCountries, value: country"></select></p>

<p>
    Zip: <input data-bind="value: zip, valueUpdate: 'afterkeydown', css : errors().length ? 'error' : ''" />
</p>

CSS

.error { border-color: #C00; background-color: #FEE; }

JavaScript

ko.validation.configure();

var viewModel = {
    availableCountries : ko.observableArray(["United States", "Canada", "Ireland"]),
    country : ko.observable("United States")
};
alert(viewModel.country);
viewModel.zip = ko.observable("").extend({ required: { onlyIf: function() { return viewModel.country() !== "Ireland"; }  }});
viewModel.errors = ko.validation.group(viewModel);

ko.applyBindings(viewModel);