jQuery   发布时间:2022-03-30  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了jquery – 忽略data-val属性的不显眼验证,但使用class =“required”大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我有以下观点:

@using (Html.beginForm())
{
    <div class="left-column">
        @Html.LabelFor(m => m.Expression)
        @Html.TextAreaFor(m => m.Expression,new { @spellcheck = "false" })
        @Html.EditorFor(m => m.Sku)
    </div>
}

使用以下JavaScript在计时器上每秒运行一次:

$("form").validate();

if ($("form").valid()) {
    //...
}

为文本区域元素生成以下html(唯一需要验证的元素):

<textarea 
    data-val="true"
    data-val-required="The Expression field is required."
    cols="20" rows="2"
    id="Expression" name="Expression"
    spellcheck="false">
</textarea>

问题是验证没有做任何事情,除非我使用浏览器工具手动添加class =“required”.如果我执行此验证工作并显示错误消息“需要表达式字段”.确切地说“$(”form“).valid()”即使textarea为空,也总是返回true.
由于我使用的是@L_450_8@生成data-val属性的anotations,我想依赖它们.我究竟做错了什么?

仅供参我的脚本参如下:

<script src="/Scripts/modernizr-2.0.6-development-only.js" ...
<script src="/Scripts/jquery-1.6.2.js" ...
<script src="/Scripts/Parser.js" ...
<script src="/Scripts/jquery.unobtrusive-ajax.js" ...
<script src="/Scripts/jquery.validate.js" ...
<script src="/Scripts/jquery.validate.unobtrusive.js" ...

解决方法

您是否为.NET启用了Unobtrusive Javascript和客户端验证?

尝试在视图中设置以下内容

@{  Html.EnableUnobtrusiveJavaScript(true);
    Html.EnableClientValidation(true);
    Html.ValidationSumMary(true);   
}

您也可以在web.config中全站设置它

<appSetTings>
    <add key="ClientValidationEnabled" value="true" />
    <add key="UnobtrusiveJavaScriptEnabled" value="true" />
</appSetTings>

大佬总结

以上是大佬教程为你收集整理的jquery – 忽略data-val属性的不显眼验证,但使用class =“required”全部内容,希望文章能够帮你解决jquery – 忽略data-val属性的不显眼验证,但使用class =“required”所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。