asp.net - 如何本地化 JQuery 验证中的验证消息?

标签 asp.net jquery validation localization jquery-validate

是否有本地化 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/

相关文章:

asp.net - 如何使用 ASP.NET MVC 中的正确键向 ModelState 添加错误?

c# - 如何修复 : The provider did not return a ProviderManifestToken string?

c# - OpenID 发现 URL 列表

jquery - 如何使用 jQuery UI 对话框单击打开一个新的浏览器窗口?

javascript - 用于输入数字和逗号的正则表达式

c# - ASP.NET 将响应保存到 global.asax 中的文件

javascript - 将 Canvas 保存为本地计算机上的图像

jquery - 如何在无法通过类、ID 等引用它的情况下使用 jQuery 获取元素

javascript - Javascript 中的 .innerHTML

javascript - 表单验证需要输入才能继续