繁体   English   中英

客户端非侵入式验证

[英]client side unobtrusive validation

服务器端验证工作正常(一旦我提交表单),但客户端不工作。

在我的布局中:

    @Scripts.Render("~/bundles/jqueryval")

束:

 bundles.Add(new ScriptBundle("~/bundles/jqueryval").Include(
                   "~/Scripts/jquery-{version}.js",
                   "~/Scripts/jquery.validate.js",
                   "~/Scripts/jquery.validate.unobtrusive.js"));

在我的配置文件中:

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

我在模型和MVC 5中使用数据注释

VM:

    public class LocationWorkingHoursVM 
{
    public int LocationID { get; set; }
    public string Name { get; set; }
    [Range(0,1)]
    public decimal?[] Hours { get; set; }
    public string BankHolidays { get; set; }     
}

呈现为:

<input class="form-control" data-val="true" data-val-number="The field Nullable`1 must be a number." id="Hours_0_" name="Hours[0]" type="text" value="8.0" />
            <span class="field-validation-valid" data-valmsg-for="Hours" data-valmsg-replace="true"></span>

我想念什么?

这是因为我在使用自己的EditorFor帮助程序模板。 但是我把它定义为

TextBoxFor(r=>r.model, new { @class= "foo")})

是否可以使用我的模板使其正常工作?

尝试将这两行添加到您的mainlayout中,然后重试

<script src="http://ajax.aspnetcdn.com/ajax/jquery.validate/1.12.0/jquery.validate.min.js" type="text/javascript"></script>
<script src="http://ajax.aspnetcdn.com/ajax/mvc/4.0/jquery.validate.unobtrusive.min.js" type="text/javascript"></script>

如果您使用的是jQuery 1.9.1或更高版本,请确保使用

jQuery验证(至少1.11.1)Microsoft jQuery不干扰验证(至少2.0.30116.0)Microsoft jQuery不干扰Ajax(至少2.0.30116.0)

MVC数据注释范围验证无法正常工作

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM