asp.net-mvc – 使用nHibernate.validator的MVC.NET中的xVal不会
发布时间:2020-12-16 09:56:44 所属栏目:asp.Net 来源:网络整理
导读:我有一个使用NHibernate和NHibernate.Validator的ASP.NET MVC项目,我想使用xVal 1.0(最新版本). 我将所请求的脚本添加到项目中并在Site.Master中引用它: script type="text/javascript" src="%= ResolveUrl("~/Scripts/jquery-1.3.2.js")%"/script script t
我有一个使用NHibernate和NHibernate.Validator的ASP.NET MVC项目,我想使用xVal 1.0(最新版本).
我将所请求的脚本添加到项目中并在Site.Master中引用它: <script type="text/javascript" src="<%= ResolveUrl("~/Scripts/jquery-1.3.2.js")%>"></script> <script type="text/javascript" src="<%= ResolveUrl("~/Scripts/jquery.validate.js")%>"></script> <script type="text/javascript" src="<%= ResolveUrl("~/Scripts/xVal.jquery.validate.js")%>"></script> 然后我将NHibernateValidatorRulesProvider添加到Global.asax Application_OnStart()中的xVal.ActiveRuleProviders: xVal.ActiveRuleProviders.Providers.Add(new NHibernateValidatorRulesProvider(ValidatorMode.OverrideXmlWithAttribute)); 最后,在View上,我补充道: <%= Html.ClientSideValidation<DomainModel.Entities.MyCustomClass>(Prefix) %> 我在IE中获得了JavaScript警告但在Firefox中没有.如果现在输入一些无效字段并提交这些字段,则xVal不会触发 – 而是正在进行PostBack,而Serverside验证会处理数据. 我究竟做错了什么?我已经能够使用xVal 1.0运行xVal示例项目… //编辑:我必须准确地说明:实际上发生了一些事情:它进行了回发并将无效字段标记为红色(因为它一直在进行服务器端验证)但是如果我在这些字段中写入内容,颜色变回正常状态.但是,如果我再次删除该值,则在我单击“提交”并且表单执行回发之前不会发生任何事情…如果我删除了clientidevalidation代码,则似乎不会发生这种情况. 解决方法
确保您的验证器不允许空值,MVC正在验证回发中空字段的表单,但xVal可能不会在每种情况下都这样做.
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容