Проверка клиента asp.net MicrosoftMvcJQueryValidation - PullRequest
1 голос
/ 23 мая 2010

Я пытаюсь использовать проверку клиента asp.net mvc 2 (<% Html.EnableClientValidation ();%>) с модальным боксом (facebox).и не могу заставить его работать.Я пробовал следующие решения, и ни одно из них не работало:

http://www.phpvs.net/2010/04/26/manually-validate-an-asp-net-mvc-form-on-the-client-side-with-microsoftmvcvalidation-js-and-jquery/

http://aspnet.codeplex.com/WorkItem/View.aspx?WorkItemId=5270

http://tpeczek.com/2010/04/making-aspnet-mvc-2-client-side.html

Я пробовалMicrosoftMvcJQueryValidation.js и MicrosoftMvcValidation.js.Дело в том, что валидация, очевидно, не загружает форму в модале (facebox), тогда как она загружает формы, которых нет в модале.

у кого-нибудь есть идея?

1 Ответ

0 голосов
/ 24 мая 2010

Здравствуйте! Наконец-то я нашел полное решение для проверки клиента asp.net mvc в модальной и ajax форме:

  1. использовать текстовое поле лямбда-выражения и сообщения проверки (TextBoxFor ...)
  2. в MicrosoftMvcJQueryValidation.js замените функцию ready вызовом функции, чтобы вы могли вызывать init вручную (см. # Code1 ниже)
  3. вызовите EnableClientSideValidation из функции готовности вашего частичного представления (если вы используете ссылку ajax, вызовите функцию для события OnSuccess).
  4. если вы отправляете ajax-форму, проверьте ее с помощью строк в # Code2 ниже.

Code1

$(document).ready(function() {
    EnableClientSideValidation();
});

function EnableClientSideValidation() {
    var allFormOptions = window.mvcClientValidationMetadata;
    if (allFormOptions) {
        while (allFormOptions.length > 0) {
            var thisFormOptions = allFormOptions.pop();
            __MVC_EnableClientValidation(thisFormOptions);
        }
    }
}

Кодекса2

function validate(formData, jqForm, options) {
    for (var i = 0; i < formData.length; i++) {
        if (!formData[i].value) {
            return false;
        }
    } 
} 

Если вы используете формы jquery, то просто добавьте beforeSubmit: подтвердите параметры формы ajax.

вот и все!

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