Если все проверки Javascript пройдены

У меня есть этот код, который делает немного проверки, и некоторые другие вещи

$(document).ready(function(){
    //focus stuff
    $('input[type="text"]').on('focus',function(){ // When focus
        $(this).addClass('inputFocus');
    });

    $('input[type="text"]').on('blur',function(){ // When blur
        $(this).removeClass('inputFocus');
    });

    $('input[type="email"]').on('focus',function(){ // When focus
        $(this).addClass('inputFocus');
    });

    $('input[type="email"]').on('blur',function(){ // When blur
        $(this).removeClass('inputFocus');
    });

    $('input[type="Password"]').on('focus',function(){ // When focus
        $(this).addClass('inputFocus');
    });

    $('input[type="Password"]').on('blur',function(){ // When blur
        $(this).removeClass('inputFocus');
    });

        //fullName validation
    $("#fullName").keyup(function() {
        if (/^[a-zA-Z ]+$/.test($(this).val())) {
            $(this).css('borderColor','#e5e5e5');
            $(".validationError").text("");
        } else {
            $(this).removeClass('inputFocus');
            $(".fullNameError").addClass('validationError');
            $(".fullNameError").text("Only letters, please.");
            $(".validationError").css('display', 'block');
            $(this).css('border','2px solid #d76262');
        }
    })

    //email validation
    $("#email").keyup(function() {
        if (/^(([^<>()[\]\\.,;:\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,}))$/.test($(this).val())) {
            $(this).css('borderColor','#e5e5e5');
            $(".validationError").text("");
        } else {
            $(this).removeClass('inputFocus');
            $(".emailError").addClass('validationError');
            $(".emailError").text("Please enter a valid email.");
            $(".validationError").css('display', 'block');
            $(this).css('border','2px solid #d76262');
        }
    })

    //username validation
    $("#username").keyup(function() {
        if (/^[a-zA-Z1-9 ]+$/.test($(this).val())) {
            $(this).css('borderColor','#e5e5e5');
            $(".validationError").text("");
        } else {
            $(this).removeClass('inputFocus');
            $(".usernameError").addClass('validationError');
            $(".usernameError").text("Only letters and numbers, please.");
            $(".validationError").css('display', 'block');
            $(this).css('border','2px solid #d76262');
        }
    })

    //onlineID validation
    $("#onlineID").keyup(function() {
        if (/^[a-zA-Z1-9 ]+$/.test($(this).val())) {
            $(this).css('borderColor','#e5e5e5');
            $(".validationError").text("");
        } else {
            $(this).removeClass('inputFocus');
            $(".onlineIDError").addClass('validationError');
            $(".onlineIDError").text("Only letters and numbers, please.");
            $(".validationError").css('display', 'block');
            $(this).css('border','2px solid #d76262');
        }
    })

Я хотел бы проверить, прошла ли вся эта проверка, и нет ли ни одного поля пустым. Если оба эти условия выполняются, я хотел бы иметь возможность выполнить некоторый код. Я не уверен, как это сделать.

1 ответ

Если вы просто хотите увидеть, прошли ли все проверки. вам нужно инкапсулировать все проверочные проверки в функцию, вызвать эту функцию, посмотреть, что она возвращает, и продолжить.

Например:

$(document).ready(function(){
//focus stuff
$('input[type="text"]').on('focus',function(){ // When focus
    $(this).addClass('inputFocus');
});

$('input[type="text"]').on('blur',function(){ // When blur
    $(this).removeClass('inputFocus');
});

$('input[type="email"]').on('focus',function(){ // When focus
    $(this).addClass('inputFocus');
});

$('input[type="email"]').on('blur',function(){ // When blur
    $(this).removeClass('inputFocus');
});

$('input[type="Password"]').on('focus',function(){ // When focus
    $(this).addClass('inputFocus');
});

$('input[type="Password"]').on('blur',function(){ // When blur
    $(this).removeClass('inputFocus');
});

validatorCheck = validateForm();

if(validatorCheck)
{
   // This means an Error was Encountered.   

}else{

  // All Validations passed

}

 // Pack all the validation checks in a function.
 function validateForm()
 {
    var errorFound = false;

    //fullName validation
$("#fullName").keyup(function() {
    if (/^[a-zA-Z ]+$/.test($(this).val())) {
        $(this).css('borderColor','#e5e5e5');
        $(".validationError").text("");
        errorFound = true;            
    } else {
        $(this).removeClass('inputFocus');
        $(".fullNameError").addClass('validationError');
        $(".fullNameError").text("Only letters, please.");
        $(".validationError").css('display', 'block');
        $(this).css('border','2px solid #d76262');
    }
})

//email validation
$("#email").keyup(function() {
    if (/^(([^<>()[\]\\.,;:\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,}))$/.test($(this).val())) {
        $(this).css('borderColor','#e5e5e5');
        $(".validationError").text("");
        errorFound = true;
    } else {
        $(this).removeClass('inputFocus');
        $(".emailError").addClass('validationError');
        $(".emailError").text("Please enter a valid email.");
        $(".validationError").css('display', 'block');
        $(this).css('border','2px solid #d76262');
    }
})

//username validation
$("#username").keyup(function() {
    if (/^[a-zA-Z1-9 ]+$/.test($(this).val())) {
        $(this).css('borderColor','#e5e5e5');
        $(".validationError").text("");
        errorFound = true;
    } else {
        $(this).removeClass('inputFocus');
        $(".usernameError").addClass('validationError');
        $(".usernameError").text("Only letters and numbers, please.");
        $(".validationError").css('display', 'block');
        $(this).css('border','2px solid #d76262');
    }
})

//onlineID validation
$("#onlineID").keyup(function() {
    if (/^[a-zA-Z1-9 ]+$/.test($(this).val())) {
        $(this).css('borderColor','#e5e5e5');
        $(".validationError").text("");
        errorFound = true;
    } else {
        $(this).removeClass('inputFocus');
        $(".onlineIDError").addClass('validationError');
        $(".onlineIDError").text("Only letters and numbers, please.");
        $(".validationError").css('display', 'block');
        $(this).css('border','2px solid #d76262');
    }
})

 return errorFound;
}
Другие вопросы по тегам