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);