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
jQuery验证错误标签模板_Jquery_Jquery Validate - Fatal编程技术网

jQuery验证错误标签模板

jQuery验证错误标签模板,jquery,jquery-validate,Jquery,Jquery Validate,我试图用这个模板包装错误标签,但没有成功。 () 目前,我的布局没有模板,只使用css,但在某些情况下,我的消息可能会更复杂,我认为使用模板是最好的选择 我试图用这个模板包装错误标签,但没有成功 您不会将元素包装在模板中。您可以将此结构放在页面中,然后使用插件将错误消息元素动态插入其中 您还没有说明希望这个新结构相对于输入出现在何处,因此我无法找到合适的DOM遍历技术。默认的标签元素位于输入之后 不管怎样,您都会将各种jQuery DOM遍历方法应用于.parents(),.closest(),

我试图用这个模板包装错误标签,但没有成功。 ()

目前,我的布局没有模板,只使用css,但在某些情况下,我的消息可能会更复杂,我认为使用模板是最好的选择

我试图用这个模板包装错误标签,但没有成功

您不会将元素包装在模板中。您可以将此结构放在页面中,然后使用插件将错误消息元素动态插入其中

您还没有说明希望这个新结构相对于
输入出现在何处,因此我无法找到合适的DOM遍历技术。默认的
标签
元素位于
输入
之后

不管怎样,您都会将各种jQuery DOM遍历方法应用于
.parents()
.closest()
.sides()
.next()
元素
对象,以便将
元素(
错误
对象)准确地注入到所需的结构中

$.validator.setDefaults({
    errorPlacement: function(error, element) {
        error.insertAfter(element);
    }
});

showErrors
回调选项用于创建消息摘要框,而不是自定义单个消息。谢谢@Sparky,我知道如何定制单个消息吗?如果我理解您使用
errorPlacement
的建议,我会将错误消息放在我的模板中,然后我应该捕获
高亮显示
取消高亮显示
方法,以便显示或隐藏保存错误消息的模板?@NunoSantos,是的,
高亮显示
取消高亮显示
方法也可以与此一起使用。当需要切换消息时,它们将自动触发。但是,只将结构放在HTML中。。。然后允许插件根据您的代码在
errorPlacement
回调中自动插入错误消息
label
var errMsgTmpl = '<div class="alert alert-error">' +
                 '<div class="fx-alert-icon">' +
                 ' <i class="fxicons fxicons-error"></i>' +
                 '</div>' +
                 '<div class="fx-alert-desc"><label for="{{LABEL-FOR}}">{{ERROR-MSG}}</label></div>' +
                 '</div>';

$.validator.setDefaults({            
    errorElement: "section", 
    showErrors: function (errorMap, errorList) {
        var i, elements;
        for (i = 0; errorList[i]; i++) {
            errorList[i].message = errMsgTmpl
            .replace(/{{ERROR-MSG}}/, errorList[i].message)
            .replace(/{{LABEL-FOR}}/, $(errorList[i].element).attr('id'));
        }
        this.defaultShowErrors();
    }
});
$.validator.setDefaults({
    errorPlacement: function(error, element) {
        error.insertAfter(element);
    }
});