通过jQuery设置值后验证字段

时间:2016-05-18 08:51:25

标签: javascript jquery html asp.net validation

我有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>

如果我按下“提交”按钮并显示空字段,则会显示错误“需要电子邮件字段”

确定。如果在消息显示之后我通过jQuery将值放在字段中,如下所示:

$("#Email").val("some@email.com");

错误消息仍然显示不同,如果我键入文本错误消失。我试图手动触发验证,但错误仍显示:

$("#Email").val("some@email.com"); 
$("#cartForm").validate();

奇怪的是,通过jQuery更新值之后,甚至可以提交错误显示。

enter image description here

1 个答案:

答案 0 :(得分:2)

使用$('form').validate().form();手动触发验证以重新运行。 将此 AFTER 设置为有效值,如下所示:

$("#validInput").click(function () {

    $("#UserName").val("user@company.com");

    $('form').validate().form();

});