knockout.js knockout-validation

knockout.js - Validación de Knockout-Cómo mostrar mensajes de error



knockout-validation (1)

Estamos usando Knockout.js y el complemento de validación de Knockout. Cuando un usuario regresa a una página que tiene errores de validación, queremos que se muestren los mensajes de error. ¿Alguien sabe si es posible desencadenar la validación por nocaut sin cambiar realmente la respuesta enlazada?


La solución es llamar a showAllMessages. Si el modelo de vista tiene observables anidados, asegúrese de configurar ko.validation.configure para usar agrupación profunda porque el valor predeterminado es falso.

Ejemplo:

viewModel.save = function() { var result = ko.validation.group(viewModel, {deep: true}); if (!viewModel.isValid()) { alert("Please fix all errors before preceding"); result.showAllMessages(true); return false; } //actually save stuff, call ajax, submit form, etc }

Alternativamente, puede reemplazar !viewModel.isValid() con result().length > 0 !viewModel.isValid() result().length > 0