gpt4 book ai didi

javascript - MVC3 客户端验证不起作用

转载 作者:可可西里 更新时间:2023-11-01 02:50:34 25 4
gpt4 key购买 nike

我在 Razor 中使用 MVC3。
我在我的 _Layout.cshtml 中包含了以下内容:

<script src="@Url.Content("~/Scripts/jquery.validate.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/MicrosoftMvcAjax.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/MicrosoftMvcValidation.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/MicrosoftAjax.js")" type="text/javascript"></script>

我的表格是这样的:

  @{
ViewBag.Title = "Register";
Html.EnableClientValidation();
}
@using (Html.BeginForm("Register"))
{
<fieldset>
<p>
@Html.LabelFor(o => o.Email)
@Html.TextBoxFor(o => o.Email)
@Html.ValidationMessageFor(o => o.Email)
</p>
...
</fieldset>
}

我的 ViewModel 有 DataAnnotations(并实现了 IValidatableObject),它在 Controller 操作期间进行验证。但是,我似乎无法在不发布表单的情况下在客户端使用 JS 验证。

我错过了什么?

最佳答案

在 ASP.NET MVC 3 中,jquery 验证插件是执行客户端验证的默认插件。因此,您可以从项目中删除所有 Microsoft*.js 脚本。您只需具备以下条件:

<script src="@Url.Content("~/Scripts/jquery-1.4.4.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/jquery.validate.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/jquery.validate.unobtrusive.js")" type="text/javascript"></script>

并删除 Html.EnableClientValidation(); 调用。在 web.config 中启用客户端验证:

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

关于javascript - MVC3 客户端验证不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4706174/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com