Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript jQuery验证程序:运行时的自定义错误消息_Javascript_Jquery_Validation - Fatal编程技术网

Javascript jQuery验证程序:运行时的自定义错误消息

Javascript jQuery验证程序:运行时的自定义错误消息,javascript,jquery,validation,Javascript,Jquery,Validation,我正试图根据页面其他地方设置的值获取自定义错误消息。我可以将该值合并到我的验证逻辑中,但我无法找到更改消息的方法。因此,在下面的示例中,我需要一种基于dailing代码将“电话号码无效(接受国际格式)”更改为更合适的消息的方法。因此,如果拨号代码为“+1”,我希望消息为“电话号码无效(接受北美格式)。” 验证程序插件支持每个规则一条默认消息和一条已定义消息,afaik本机不支持单个验证规则的多条错误消息。但是,您可以对错误标签进行硬编码,并在验证函数中编辑其消息。您是否可以添加一个函数而不是字符

我正试图根据页面其他地方设置的值获取自定义错误消息。我可以将该值合并到我的验证逻辑中,但我无法找到更改消息的方法。因此,在下面的示例中,我需要一种基于dailing代码将“电话号码无效(接受国际格式)”更改为更合适的消息的方法。因此,如果拨号代码为“+1”,我希望消息为“电话号码无效(接受北美格式)。”


验证程序插件支持每个规则一条默认消息和一条已定义消息,afaik本机不支持单个验证规则的多条错误消息。但是,您可以对错误标签进行硬编码,并在验证函数中编辑其消息。您是否可以添加一个函数而不是字符串,并使用数据将消息存储在元素上,或者存储在隐藏的元素中?例如,您可以使用函数(){return$(element).data('errormsg');}@Chris来代替“phone num not valid”!在验证器的messages部分,我添加了一个函数,它查看拨号代码并根据拨号代码返回相应的消息
$(document).ready(function () {
    $.validator.addMethod("jqphone", function (value, element, params) {
        value = value.replace(/\s+/g, "");
        var ddlName = "ddl" + element.id.slice(element.id.lastIndexOf("___")+3);
        var dialingCode = getDialingCode($("#" + ddlName).val());

        if(dialingCode == "+1") {
            return this.optional(element) || (value.match(... for NA);
        } else if(dialingCode == "+61") { //-- AU 
            return this.optional(element) || value.match(... for AU);
        } else if(dialingCode == "+64") { //-- NZ
            return this.optional(element) || value.match(... for NZ);
        } else { //-- all the rest
            return this.optional(element) || value.match(... for the rest);
        }
     }, "Phone number is invalid (International format accepted)");
});