在ASP.net MVC中通过jQuery在客户端本地化验证消息

时间:2010-12-02 08:41:51

标签: asp.net-mvc validation localization jquery-validate data-annotations

我正在使用jquery进行客户端验证以及数据注释。一切正常,但我想在数字文本框中输入非数字值时本地化一条消息。对于服务器端验证,可以通过将DefaultModelBinder.ResourceClassKey设置为资源类名称并为PropertyValueInvalid键提供值来完成。

然而,对于客户端验证,asp.net mvc正在使用它自己的资源文件,密钥为'ClientDataTypeModelValidatorProvider_FieldMustBeNumeric'。 Custom Server and Client Side Required Validator in MVC 2 using jQuery.validate描述了我找到的唯一解决方法。该解决方案确实有效,但我想知道是否有更简单或更正确的方法。

感谢。

1 个答案:

答案 0 :(得分:1)

也许更优雅的方法是重写System.Web.Mvc.ClientDataTypeModelValidatorProvider类并将其替换为ModelValidatorProviders.Providers集合。

有关详细信息,请参阅http://jwwishart.blogspot.com/2011/03/custom-server-and-client-side-required.html中的隐式非数字字段问题部分。