我使用 jquery 进行客户端验证以及数据注释。一切工作正常,但我想在数字文本框中输入非数字值时本地化消息。对于服务器端验证,可以通过将 DefaultModelBinder.ResourceClassKey 设置为资源类名称并为 PropertyValueInvalid 键提供值来完成。
但是,对于客户端验证,asp.net mvc 使用其自己的资源文件,其键为“ClientDataTypeModelValidatorProvider_FieldMustBeNumeric”。我发现解决这个问题的唯一方法描述于使用 jQuery.validate 在 MVC 2 中自定义服务器和客户端所需的验证器 http://jwwishart.wordpress.com/2010/03/22/custom-server-and-client-side-required-validator-in-mvc-2-using-jquery-validate/。该解决方案确实有效,但我想知道是否有更简单或更正确的方法来做到这一点。
Thanks.
也许更优雅的方法是重写System.Web.Mvc.ClientDataTypeModelValidatorProvider
类并将其替换为ModelValidatorProviders.Providers
收藏。
参见部分隐式非数值字段问题 in http://jwwishart.blogspot.com/2011/03/custom-server-and-client-side-required.html http://jwwishart.blogspot.com/2011/03/custom-server-and-client-side-required.html更多细节。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)