我正在检索带有ajax的表单,一旦我收到表单并将其添加到DOM,我尝试使用jQuery为它添加一些验证,结果不符合预期。
我从AJAX调用中插入页面的HTML是:
<form id="accept-form">
<input id="txName" type="text" value="" name="txName" data-val-required="Please Select A Valid User" data-val="true">
<span class="field-validation-valid" data-valmsg-for="txName" data-valmsg-replace="true"></span>
</form>
然后我将此表单附加到我的页面并尝试为它创建一个jQuery验证器,如下所示:
$("#accept-form").validate({
rules: {
txName: {
required: true
}
},
messages: {
txName: {
required: "Enter your name"
}
}
});
然后,当我按下提交按钮时,无论txName字段是否为空,我都有一个返回True的警报集:
alert($("#accept-form").valid());
已经尝试了几种不同的方法,会对我可能做错的任何想法表示赞赏。
答案 0 :(得分:4)
答案就是我使用验证器解析html的方式。
var form = $("#accept-form");
form.unbind();
form.data("validator", null);
$.validator.unobtrusive.parse(form);
答案 1 :(得分:1)
将javascript代码放入文件中,并在ajax成功时将文件链接到主html页面。
如果在ajax完成之前将其链接到您的页面,则不会发生任何事情。