asp.net-mvc-4 – 动态更改jQuery不显眼的验证属性
发布时间:2020-12-16 03:42:31 所属栏目:asp.Net 来源:网络整理
导读:我有一个在ASP.NET MVC 4中构建的页面,它使用 jquery.validate.unobtrusive库进行客户端验证.有一个输入需要在一个数字范围内.但是,此范围可以根据用户与表单其他部分的交互动态更改. 默认值验证正常,但是在更新data-rule-range属性后,仍会在原始值上触发验
我有一个在ASP.NET MVC 4中构建的页面,它使用
jquery.validate.unobtrusive库进行客户端验证.有一个输入需要在一个数字范围内.但是,此范围可以根据用户与表单其他部分的交互动态更改.
默认值验证正常,但是在更新data-rule-range属性后,仍会在原始值上触发验证和消息. 以下是初始页面加载的输入: <input id="amount" data-rule-range="[1,350]" data-msg-range="Please enter an amount between ${0} and ${1}"> 这将正确验证消息.如果输入的数字大于350,请输入介于$1和$350之间的金额. 事件在其他地方触发后,数据规则范围会更新,元素看起来如下: <input id="amount" data-rule-range="[1,600]" data-msg-range="Please enter an amount between ${0} and ${1}"> 此时,如果在输入中输入500,则将使用相同的先前消息验证失败,该消息表明它必须在$1和$350之间.我也试过从表单中删除验证器和unobtrusiveValidation并再次解析它没有运气. $('form').removeData('validator'); $("form").removeData("unobtrusiveValidation"); $.validator.unobtrusive.parse("form"); 是否有一种干净的方法可以动态地根据输入属性更改验证行为? 解决方法
您无法通过更改数据属性来动态更改规则.这是因为jQuery Validate插件是使用页面加载时的现有属性初始化的…在对属性进行动态更改后,插件无法自动重新初始化.
您必须使用开发人员提供的.rules(‘add’)和.rules(‘remove’)方法. 见:http://jqueryvalidation.org/rules/ (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net – 如何自定义UseExternalSignInCookie?
- 在ASP.NET MVC中使用MySQL的AccountController
- ASP.NET两个截取字符串的方法分享
- 如何从ASP.NET 2.0 Web应用程序中的客户端脚本调用ASP.NET
- entity-framework – Entity Framework EntityType’UserAc
- asp.net-mvc – 禁用生产中的Glimpse和glimpse.axd
- asp-classic – 如何在经典的asp中制作一个预防sql注入的预
- asp.net – 如何通过使用eval应用特定FORMAT的日期?
- 添加依赖于.net核心csproj文件
- vsdoc文件是否适用于vbscript?
推荐文章
站长推荐
热点阅读