【问题标题】:validate field after setting value via jQuery通过jQuery设置值后验证字段
【发布时间】:2016-09-14 15:29:45
【问题描述】:

我有 asp net mvc 项目。而且我的表格几乎没有输入。对于客户端验证,我使用两个库:

jquery.validate.jsjquery.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 更新值后,即使显示错误也可以提交。

【问题讨论】:

    标签: javascript jquery html asp.net validation


    【解决方案1】:

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

    $("#validInput").click(function () {
    
        $("#UserName").val("user@company.com");
    
        $('form').validate().form();
    
    });
    

    【讨论】:

    • 这对我有帮助。谢谢
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-10-24
    • 1970-01-01
    • 1970-01-01
    • 2011-01-30
    • 2021-04-13
    • 2013-03-08
    • 2019-01-20
    相关资源
    最近更新 更多