加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

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可能不会在每种情况下都这样做.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读