Подтвердить что ты не робот

Проверка формы knockout.js?

Я использую knockout.js в моем проекте ASP.NET MVC. Я понял, как отображать форму, сериализовать объект JSON и отображать данные с помощью следующей ссылки: Как использовать knockout.js с ASP.NET MVC ViewModels?

Но я не могу понять, как проверить форму. Какое наилучшее решение для проверки формы?

4b9b3361

Ответ 1

Я использовал его плагин Knockout.Validation(https://github.com/Knockout-Contrib/Knockout-Validation), который работал хорошо. Он использует расширители в Knockout, поэтому вы можете расширить свойства модели, чтобы включить такие правила, как требуемые, минимальные, максимальные или совпадения шаблонов. Вы также можете создавать собственные правила. Например, я создал один для URL-адреса. У него есть встроенное правило для таких вещей, как электронная почта. Все это находится на странице github в документах. У него есть все необходимое для начала работы.

Другой вариант - использовать проверку jquery, которая также хорошо работает.

Ответ 3

Хотя ответ принят, но я хотел бы поделиться своим приложением. Я предпочитаю комбинировать jquery с knockout.js и применять jQuery Validation plugin, который очень подходит для ненавязчивой проверки на стороне клиента. Он работает до отправки формы и принимает форму как входной параметр. Что-то вроде этого:

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

Вызывается функция validate(). Если проверка завершается успешно, форма будет отправлена, в противном случае будет отображаться ошибка.