Здравствуйте! Наконец-то я нашел полное решение для проверки клиента asp.net mvc в модальной и ajax форме:
- использовать текстовое поле лямбда-выражения и сообщения проверки (TextBoxFor ...)
- в MicrosoftMvcJQueryValidation.js замените функцию ready вызовом функции, чтобы вы могли вызывать init вручную (см. # Code1 ниже)
- вызовите EnableClientSideValidation из функции готовности вашего частичного представления (если вы используете ссылку ajax, вызовите функцию для события OnSuccess).
- если вы отправляете 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.
вот и все!