asp.net-mvc-3 – 不为CompareAttribute DataAnnotation触发客户
我正在布局一个比较两个密码字符串的视图.我的一个模型中的两个属性非常简单:
[Required] [RegularExpression(@"(S)+",ErrorMessage = "White space is not allowed")] [StringLength(20,MinimumLength = 6)] [DataType(DataType.Password)] [Display(Name = "New Password")] public string NewPassword { get; set; } [Required] [DataType(DataType.Password)] [RegularExpression(@"(S)+",MinimumLength = 6)] [Display(Name = "Confirm Password")] [Compare("NewPassword",ErrorMessage = "The new password and confirmation password do not match.")] public string ConfirmPassword { get; set; } 这是我的观看代码: <table class="fieldset center" width="400"> <tbody> <tr> <th width="150"> @Html.LabelFor(m => m.NewPassword) </th> <td> @Html.PasswordFor(m => m.NewPassword,new { @class = "itext3" }) <br /><br />@Html.ValidationMessageFor(m => m.NewPassword) </td> </tr> <tr> <th width="150"> @Html.LabelFor(m => m.ConfirmPassword) </th> <td> @Html.PasswordFor(m => m.ConfirmPassword,new { @class = "itext3" }) <br /><br />@Html.ValidationMessageFor(m => m.ConfirmPassword) </td> </tr> </tbody> </table> 测试时,所有属性都会触发客户端验证消息,但ConfirmPassword上的CompareAttribute除外,直到我点击服务器才触发.但是,在我的控制器中,ModelState.IsValid = false. 我将我正在做的事情与正常工作的默认MVC应用程序进行了比较.有关故障排除和修复的建议吗? 我正在使用MVC 3 RTM. 解决方法
看一下_Layout.cshtml中的脚本标签.我猜这个问题可能是你的jQuery引用.您是否从头开始创建MVC 3项目,或者您正在使用示例项目或类似项目?
这就是发生在我身上的事情;我有类似的问题…… >我在src属性中使用了一些指向ajax.microsoft.com的示例代码 因此,在更改为内部提供的jQuery文件后,它可以工作.我回去看了看我当地的.validate.js文件……它是版本1.6.这就是我如何意识到问题是由于jQuery的版本或者它与其他js libs的兼容性. 最重要的是,看起来1.7并没有完全发挥我所拥有的validate.unobtrusive.js库…可能有一个更新的版本可以使用1.7 …就像我说的那样,我正在摆弄一个示例项目,所以有一些未知数.我想它也可能与它和其他一个js lib之间的MvcValidation.js lib不兼容? 无论如何,我要说最简单的说明问题的方法是你最有可能引用js libs的错误组合.我说最好的故障安全方法来获得js libs的良好组合是在Visual Studio中创建一个新的Asp.Net MVC 3项目并查看它默认情况下给你的版本/项目模板……这是假设的你没有从头开始项目.如果您从头开始DID,那么可能是您更改了布局文件以获得错误的js引用,或者如果这些都不是真的那么我认为它可能是VisualStudio项目模板的问题?…实际上我会说但是很可疑.所有这些都说 – 我说最有可能的原因[无论如何我都打赌]就是你遇到了麻烦,就像我试图快速使用一些示例代码=) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- ASP.NET自定义404和500错误页面
- asp.net-mvc – 使用JSON结果填充下拉列表 – 使用MVC3,JQu
- asp.net – 如何获取SignalR用户连接ID在外线中心类?
- asp.net – IIS 7忽略没有文件扩展名的MapPageRoute
- asp.net通过Ajax UpdatePanel回传后滚动条位置变更解决方法
- asp.net – IE bug无效源HTML5音频 – 解决方法
- 你使用ASP.NET MVC Action方法做了什么聪明的事情
- asp.net-mvc – 如何让MVC POST返回上一页?
- asp.net-mvc-3 – ASP.NET MVC3的AntiForgeryToken有哪些实
- asp.net-mvc – aspnet_Profiles表中的PropertyValuesStrin
- asp.net-mvc – ASP.NET MVC.如何创建接受和mult
- asp.net – .axd文件生成404错误
- asp.net-mvc – 使用Html.ActionLink传递文本框值
- 一步步开发自己的博客 .NET版(5、Lucenne.Net
- asp.net-mvc – 在视图中转义JavaScript字符串文
- asp.net-mvc – 在MVC Web应用程序中设置默认值
- 何时使用ASP.NET MVC与ASP.NET Web窗体?
- asp.net-mvc-2 – 使用ASP.NET MVC 2时更好地保留
- ASP.NET MVC 2 – 设置Html.Form的ID
- asp.net-mvc – 为Asp.net Web API使用Service B