Если все проверки 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;
}