Fields Validator错误Jquery

时间:2018-05-24 09:24:46

标签: javascript jquery captcha bootstrapvalidator

我正在尝试使用Jquery使用表单中的验证码进行简单验证。但是这个验证码有错误:

valid: {
    validators: {
        custom: {
            if( $('#validCaptcha').val() == "capcha_invalid" ) {
                $('#btnForm').attr('disable','disable');
            }
            else {
                $('#btnForm').removeAttr('disable','disable');
            }
        }
    }
}

错误位于IF之后的ligne处。例如,在sublime文本中,正常的颜色代码不适用于以下lign之后的If ..但我不知道为什么 这里是整个代码:

$(document).ready(function() {
$('#formTarif').bootstrapValidator({
    // To use feedback icons, ensure that you use Bootstrap v3.1.0 or later
    feedbackIcons: {
        valid: 'glyphicon glyphicon-ok',
        invalid: 'glyphicon glyphicon-remove',
        validating: 'glyphicon glyphicon-refresh'
    },
    submitHandler: function(validator, form, submitButton) {
        $('#contact_form').data('bootstrapValidator').resetForm();

        var bv = form.data('bootstrapValidator');
        // Use Ajax to submit form data
        $.post(form.attr('action'), form.serialize(), function(result) {
            console.log(result);
        }, 'json');
    },
    fields: {
        nom: {
            validators: {
                    stringLength: {
                    min: 2,
                },
                    notEmpty: {
                    message: 'Le nom est requis'
                },
                regexp: {
                    regexp: /^[a-zA-Z ]*$/,
                    message: 'Le nom ne doit contenir que des lettres non accentuées'
                }
            }
        },
        prenom: {
            validators: {
                 stringLength: {
                    min: 2,
                },
                notEmpty: {
                    message: 'Le prenom est requis'
                },
                regexp: {
                    regexp: /^[a-zA-Z ]*$/,
                    message: 'Le prenom ne doit contenir que des lettres non accentuées'
                }
            }
        },
        mail: {
            validators: {
                notEmpty: {
                    message: 'L\'adresse email est requise'
                },
                regexp: {
                    regexp: /^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/,
                    message: 'Veuillez saisir une adresse mail valide'
                }
            }
        },
        tel: {
            validators: {
                notEmpty: {
                    message: 'Le numéro de téléphone est requis'
                },
                regexp: {
                    regexp: /(0|\\+33|0033)[1-9][0-9]{8}/,
                    message: 'Veuillez saisir un numéro de telephone valide'
                }
            }
        },
        cp: {
            validators: {
                notEmpty: {
                    message: 'Votre code postal est requis'
                },
                regexp: {
                    regexp: /^((0[1-9])|([1-8][0-9])|(9[0-8])|(2A)|(2B))[0-9]{3}$/ ,
                    message: 'Veuillez saisir un code postal valide'
                }
            }
        },
        valid: {
            validators: {
                custom: {
                    if( $('#validCaptcha').val() == "capcha_invalid" ) {
                        $('#btnForm').attr('disable','disable');
                    }
                    else {
                        $('#btnForm').removeAttr('disable','disable');
                    }
                }
            }
        }
    }   
 })
});

1 个答案:

答案 0 :(得分:0)

您无法将代码置于验证程序JSON中。您可以在自定义验证器中使用函数。例如。希望它有所帮助!

    valid: {
        validators: {
            custom: {
                disablebtnForm : function () {
                  if( $('#validCaptcha').val() == "capcha_invalid" ) {
                    $('#btnForm').attr('disable','disable');
                }
                else {
                    $('#btnForm').removeAttr('disable','disable');
                }
              }
            }
        }
    }