Aunque la respuesta es aceptada, me gustaría compartir mi apporoach. Prefiero combinar jquery con knockout.js y aplicar el jQuery Validation plugin que se adapte muy bien para una validación de formulario discreta del lado del cliente. Funciona antes del envío del formulario y acepta el formulario como un parámetro de entrada. Algo como esto:
function ViewModel() {
var self = this;
self.firstName = ko.observable();
self.lastName = ko.observable();
self.email = ko.observable();
self.validate = function(form) {
return $(form).validate();
};
};
var viewModel = new ViewModel();
ko.applyBindings(viewModel);
La función de validación() se llama Si la validación se realiza correctamente, se envía el formulario, de lo contrario, se mostrará un error.