Jquery验证插件。按错误类型

时间:2017-03-16 09:33:09

标签: javascript jquery jquery-validate

我有一些动态创建的输入。 所有这些都是必需的'。但是我想只显示一次消息。

 $("#FORMULARIO").validate({
            onfocusout: false,
            onkeyup: false,
            onclick: false,
            errorLabelContainer: "#divError",
            wrapper: "li",
            rules: {                
                Fecha_Inicio: {
                    required: true,
                    DateFormat: true
                },
                Fecha_Fin: {
                    required: true,
                    DateFormat: true
                },
                chkIdioma:{
                    required: true
                },
                Cod_Expediente_Interno_Caracter:
                    {
                        required: true
                    },
                Fecha_Solicitud:{
                    required: true
                }
            },
            messages:
                {
                    Fecha_Inicio:'REQUIRED!',
                    Fecha_Fin:'REQUIRED!',
                    chkIdioma:'REQUIRED!',
                    Cod_Expediente_Interno_Caracter:'REQUIRED!',
                    Fecha_Solicitud:'REQUIRED!'
                },
            // Mostrar * al lado de los errores
            showErrors: function (errorMap, errorList) {                
                var label ;
                if (this.errorList.length > 0) {
                    for (var x = 0; x < this.errorList.length; x++) {    
                        if ($('#lblError' + errorList[x].element.id).length) 
                        {
                        }
                        else{
                            label = $("<label class='error' id='lblError" + errorList[x].element.id + "'>*</label>");
                            label.insertAfter(errorList[x].element);    
                        }
                    }
                }
                this.defaultShowErrors();
            },
            submitHandler: function (form) {
                alert("ok");
            }
        });   
        $.extend(jQuery.validator.messages, {
            required: 'REQUIRED!',
            DateFormat: 'DATE INCORRECT!',
            digits: 'NOT A DIGIT!',
            number: 'NOT A NUMBER!'
        });


        $("input[name^=Campo_]").each(function () { 

            $(this).rules('add', 'required');

        }); 
        $("input[name^=ListaValor_]").each(function () { 

            $(this).rules('add', "required");

        }); 

        $.validator.addMethod("DateFormat", function (value, element) { return (this.optional(element) || ValidaFecha(value)); }, "NOT A DATE");   

它们显示如下

•必需的! •需要! •需要! •需要! •必需的!

我想只对表单上所需的所有输入显示一次错误。

showErrors属性上,我会显示&#39; *&#39;每个输入背后。 消息显示在我在div属性上定义的errorLabelContainer上。

谢谢!

0 个答案:

没有答案