Asp.net mvc 3 新元素的ASP MVC 3 Javascript验证
在客户端上,我创建了一些输入,例如:Asp.net mvc 3 新元素的ASP MVC 3 Javascript验证,asp.net-mvc-3,jquery-validate,validation,Asp.net Mvc 3,Jquery Validate,Validation,在客户端上,我创建了一些输入,例如: var title = document.createElement('input'); title.setAttribute('type', 'text'); title.setAttribute('name', 'Title'); myForm.appendChild(title); 此字段应为必填字段。如何进行此验证 如何进行此验证 您应该将jquery unobtrusive validation使用的HTML5data-*属性应用于它,然后调用j
var title = document.createElement('input');
title.setAttribute('type', 'text');
title.setAttribute('name', 'Title');
myForm.appendChild(title);
此字段应为必填字段。如何进行此验证
如何进行此验证
您应该将jquery unobtrusive validation使用的HTML5data-*
属性应用于它,然后调用jquery.validator.unobtrusive.parse
强制插件重新分析已动态添加的规则:
var title = document.createElement('input');
title.setAttribute('type', 'text');
title.setAttribute('id', 'Title');
title.setAttribute('name', 'Title');
title.setAttribute('data-val', 'true');
title.setAttribute('data-val-required', 'This field is required');
myForm.appendChild(title);
$(myForm).removeData("validator");
$(myForm).removeData("unobtrusiveValidation");
$.validator.unobtrusive.parse(myForm);
另外请注意,您可能希望提供相应的
元素,用于显示错误消息,除非您使用Html.ValidationSummary
帮助程序将所有错误消息集中在一个位置。此元素应如下所示:
<span class="field-validation-valid" data-valmsg-for="Title" data-valmsg-replace="true"></span>
这可以用一种更容易发问的方式来写:
$(function () {
$.validator.unobtrusive.parse(
$('form').append(
$('<input/>', {
type: 'text',
id: 'Title',
name: 'Title'
})
.attr('data-val', 'true')
.attr('data-val-required', 'This field is required')
)
.append(
$('<span/>')
.addClass('field-validation-valid')
.attr('data-valmsg-for', 'Title')
.attr('data-valmsg-replace', 'true')
)
.removeData('validator')
.removeData('unobtrusiveValidation')
);
});
$(函数(){
$.validator.unobtrusive.parse(
$('form')。追加(
$('', {
键入:“文本”,
id:'标题',
姓名:'头衔'
})
.attr('data-val','true')
.attr('data-val-required','此字段为必填项')
)
.附加(
$('')
.addClass('field-validation-valid')
.attr('data-valmsg-for','Title')
.attr('data-valmsg-replace','true')
)
.removeData(“验证器”)
.removeData(“不引人注目的验证”)
);
});
当我这样做时,我总是会收到一个错误,上面写着“无法读取未定义的属性‘unobtrusive’”,否则验证会起作用,但我似乎无法清除旧的验证,然后在添加新字段后重建它。有什么想法吗?