【发布时间】:2013-08-22 21:19:36
【问题描述】:
我有一个简单的登录页面,突然(在将 Jquery.js 和 Jquery-ui.js 分别升级到 1.10.2 和 1.10.3 之后)开始实际达到操作结果,而不是显示定义的客户端验证消息E.F 数据注释。
所以我发现删除除了用户和密码之外的唯一 CheckBoxFor,提交按钮实际上可以正常工作,因此它只在不到达控制器的情况下引发客户端验证。
这种行为有什么原因吗?
谢谢!!
代码如下:
@using System.Web.Optimization;
@model MyProject.Models.LogOnModel
@{
ViewBag.Title = "Entrar";
}
<h1>@ViewBag.Title</h1>
<p>
Se pretende obter acesso clique @Html.ActionLink("aqui", "Register").
</p>
@Scripts.Render("~/bundles/jquery")
@Scripts.Render("~/bundles/jqueryval")
@using (Html.BeginForm())
{
@Html.ValidationSummary(true, "O seu acesso falhou. Por favor corriga os erros e tente novamente.")
<div>
<fieldset>
<legend>Informação da sua conta</legend>
<div class="editor-field">
@Html.LabelFor(m => m.Email)
@Html.TextBoxFor(m => m.Email, new { @class = "medium-editor" })
@Html.ValidationMessageFor(m => m.Email)
</div>
<div class="editor-field">
@Html.LabelFor(m => m.Password)
@Html.PasswordFor(m => m.Password, new { @class = "medium-editor" })
@Html.ValidationMessageFor(m => m.Password)
</div>
<input type="submit" value="Entrar" />
@Html.CheckBoxFor(m => m.RememberMe)
@Html.LabelFor(m => m.RememberMe)
</fieldset>
</div>
}
<p>
Esqueceu a sua password?
Clique @Html.ActionLink("aqui", "ForgotPassword", "Account") para recuperar a sua password.
</p>
【问题讨论】:
-
请发布您的代码
-
添加了代码。感谢观看
-
您是否更新了 bundleConfig 以显示 jQuery 的升级版本?如果是这样,我建议可能自升级以来javascript中可能存在错误,一旦失败,它就会离开验证
-
是的,我更新了 jQuery 版本并且 bundleconfig 没有改变。现在正在使用新版本。如果我删除 CheckBoxFor,我没有收到任何 javascript 错误,并且此代码有效。如果我恢复到旧的 jquery 版本,它可以正常工作。
-
所以基本上问题仍然存在。谢谢
标签: c# asp.net-mvc-4 entity-framework-4 unobtrusive-validation razor-2