【问题标题】:Unobtrusive validation ignoring data-val attributes, but working with class="required"忽略 data-val 属性的不显眼验证,但使用 class="required"
【发布时间】:2012-08-10 12:18:46
【问题描述】:

我有以下看法:

@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"。如果我执行此验证工作并显示错误消息“表达式字段是必需的”。确切地说,即使 textarea 为空,“$("form").valid()” 也总是返回 true。 由于我使用的是自动生成 data-val 属性的注释,所以我想依赖这些。我做错了什么?

仅供参考,我的脚本参考如下所示:

<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" ...

【问题讨论】:

  • Chrome和IE9都出现,我的文档类型是
  • 您的表单是否指定了 ID #paserForm?另外,ASP.NET MVC 应该为你调用validate,你不应该自己调用它。
  • 是的,但实际上,实际的 JS 代码只是在 $("form") 上运行,显式调用它 parserForm 只是为了测试它是否改变了任何东西。 .validate() 也是如此

标签: jquery html razor jquery-validate unobtrusive-validation


【解决方案1】:

您是否为 .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>

【讨论】:

  • 我有!好吧,我不记得做过,但它就在那里,所以我假设 NuGet 做到了。尽管如此,这是近一个月来针对仍未解决的问题提出的第一个建议,非常感谢!
猜你喜欢
  • 1970-01-01
  • 2020-03-05
  • 1970-01-01
  • 1970-01-01
  • 2014-04-04
  • 2012-03-29
  • 1970-01-01
  • 2018-05-15
  • 1970-01-01
相关资源
最近更新 更多