Можно ли взломать ненавязчивую проверку, поддерживаемую в ASP.NET MVC 3? - PullRequest
3 голосов
/ 14 марта 2011

Я хочу иметь возможность использовать ненавязчивую проверку на стороне клиента, основанную на аннотациях данных, но делаю свою собственную отправку формы ajax после того, как знаю, что она прошла.

Примерно так: jQuery бит:

$('#form').submit(function(e) {
  e.preventDefault();

  if (PassesUnobtrusiveValidation()) {
    // ajax submit form
  }
});

Есть ли событие PassedValidation или что-то в этом роде (встроено в стандартную проверку на стороне клиента на основе аннотаций данных asp.net mvc 3), которую я могу подключить (как в примере с psuedocode)?

Я хочу сделать это, чтобы по-прежнему использовать преимущества проверки на основе аннотаций данных, а затем асинхронно отправлять форму так, как я хочу. Я хотел бы избежать написания общей проверки на клиенте, позволив asp.net mvc 3 позаботиться об этом за меня, а затем отправив форму так, как я хочу, используя $.ajax();

1 Ответ

6 голосов
/ 14 марта 2011

Если вы используете jquery.validate:

$('#myForm').submit(function() {
    if ($(this).valid()) {
        // Client side validation passed => submit the form
    }
});

Другая возможность - подключить к плагину опции :

$.validator.setDefaults({
    submitHandler: function(form) {
        // Client side validation passed => submit the form
    }
});

Если вы используете MSAjax, тогда удачи вам.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...