1
15
我想你已经听从了菲尔·哈克的指示了 http://haacked.com/archive/2009/11/19/aspnetmvc2-custom-validation.aspx )关于如何使用MS Ajax客户端验证进行自定义验证。要使其与jquery一起工作,需要修改microsoftmvcjqueryvalidation.js文件:
函数\ MVC \应用验证程序\价格(对象,值){
} 这足以让菲尔的榜样发挥作用。 现在,关于您的属性mustMatchAttribute验证,它看起来不像MVC为修饰类的属性生成客户端JSON验证定义。由于必须在模型上使用propertiesMustMatchAttribute(而不是属性),所以我无法确定如何使其触发客户端验证。相反,我采取了不同的方法。我创建了一个isvalid()重载始终返回true的虚拟验证属性,并在属性上使用了该属性。这只是一个虚拟属性,它将验证逻辑委托给jquery验证器的equalto函数。下面是虚拟属性:
这是自定义验证器:
上面的自定义验证器需要在每个phil的blog的application_start()中注册: DataAnnotationsModelValidatorProvider.RegisterAdapter(typeof(propertiesMustMatchClientTriggerAttribute),typeof(propertiesMustMatchClientTriggerValidator)); 最后,您需要修改microsoftmvcjqueryvalidation.js文件:
“均等”案例: _ mvc_applyvalidator_equalto(rulesobj,thisrule.validationParameters[“matchfield”]); 断裂;
函数uu mvc_applyvalidator_equalto(object,elemid){
} 现在需要将虚拟验证属性附加到属性:
这应该可以做到。 创建这个虚拟属性有点难看,所以我希望有人能想出一个更优雅的解决方案。 |
2
1
以下是如何添加自定义jquery验证:
|
3
0
我知道这是一篇旧文章,您使用的是MVC2,但是MVC3现在附带了CompareAttribute,它可以用于密码确认匹配的用例。 |
Mike · html助手-我如何摆脱name属性? 9 年前 |
user3902826 · 显示mvc2视图 10 年前 |
Baxter · 将带有List<T>的视图模型发布到控制器操作方法 10 年前 |
yoozer8 · 将类应用于某些链接文本 12 年前 |