dan*_*y89 7 html javascript asp.net validation jquery
我有 asp net MVC 项目。我的表单中几乎没有输入内容。对于客户端验证,我使用两个库:
jquery.validate.js和jquery.validate.unbrostive.js
例如我有现场电子邮件:
<div class="form-group">
@Html.LabelFor(m => m.Email, new { @class = "required" })
@Html.TextBoxFor(m => m.Email, new { @class = "form-control", @autocomplete = "nope" })
@Html.ValidationMessageFor(x => x.Email)
</div>
Run Code Online (Sandbox Code Playgroud)
如果我按字段为空的“提交”按钮,它会显示错误“需要电子邮件字段”
好的。如果在显示消息后我通过 jQuery 将值放入字段中,如下所示:
$("#Email").val("some@email.com");
Run Code Online (Sandbox Code Playgroud)
错误消息仍然显示,与我输入文本不同,错误消失。我尝试手动触发验证,但错误仍然显示:
$("#Email").val("some@email.com");
$("#cartForm").validate();
Run Code Online (Sandbox Code Playgroud)
奇怪的是,通过 jQuery 更新值后,即使显示错误也可以提交。
用于$('form').validate().form();手动触发验证重新运行。将输入字段设置为有效值后调用此函数,如下所示:
$("#validInput").click(function () {
$("#UserName").val("user@company.com");
$('form').validate().form();
});
Run Code Online (Sandbox Code Playgroud)