是否有本地化 JQuery 验证消息的标准做法?
我已经能够通过声明我自己的 ClassRules 并引用它们而不是默认的来将一些东西组合在一起。
我的代码。
<input class="localized-required" id="myTextInput" name="myTextInput" type="text" value="" />
<script language="javascript" type="text/javascript">
jQuery(document).ready(function () {
$.validator.addMethod("localized-required", $.validator.methods.required, '<%: Resources.Strings_ValidationMessages.SelectionRequired %>');
$.validator.addClassRules(
{
"localized-required": { "localized-required": true }
});
jQuery("#myForm").validate();
})
</script>
我只是想看看是否有更好的方法。
最佳答案
您可以覆盖validator
对象中的messages
对象。
$.validator.messages = {
required: '<%: Resources.Strings_ValidationMessages.SelectionRequired %>'
};
或者您可以使用自己的 defaultMessage 函数。
$.validator.prototype.defaultMessage = function(element, method) {
var locale = magicFunctionToGetLocale();
var message = $.validator.localizedMessages[locale][method];
return this.findDefined(
this.customMessage( element.name, method ),
this.customMetaMessage( element, method ),
// title is never undefined, so handle empty string as undefined
!this.settings.ignoreTitle && element.title || undefined,
message,
"<strong>Warning: No message defined for " + element.name + "</strong>"
);
};
在上面的示例中,$.validator.localizedMessages
是在代码中其他位置创建的对象。标准验证插件没有 localizedMessages
对象。
关于asp.net - 如何本地化 JQuery 验证中的验证消息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3927159/