Всем привет!
написал скрипт валидаци ,но не могу разобраться с одной проблемой.
При нажатии на кнопку submit скрипт должен проверить, есть ли ошибки в инпутах и вывести их как в скрипте выше.
Подскажите как это сделать.
$(document).ready(function () {
$('#name, #email, #password, #cvv').unbind().blur(function() {
var id = $(this).attr('id');
var val = $(this).val();
console.log(id);
switch(id) {
//name
case 'name':
var rv_name = /^[a-zA-Zа-яА-Я]+$/;
if(val.length > 2 && val != '' && rv_name.test(val)) {
$(this).addClass('not_error');
$('#check-name').animate({'opacity': '1'},400);
if($('.error-name').css("display") == "block" && $(this).hasClass('error')) {
$(this).removeClass('error');
$('.error-name').slideUp("fast");
}
} else {
$(this).addClass('error');
if ($('#check-name').css("opacity") == "1" && $(this).hasClass('not_error')) {
$(this).removeClass('not_error');
$('#check-name').animate({'opacity': '0'},400);
}
$('.error-name').html('Имя должно содержать более 2х символов').slideDown("fast");
}
break;
// email
case 'email':
var rv_email = /^([a-zA-Z0-9_.-])+@([a-zA-Z0-9_.-])+\.([a-zA-Z])+([a-zA-Z])+/;
if(val != '' && rv_email.test(val)) {
$(this).addClass('not_error');
$('#check-email').animate({'opacity': '1'},400);
if($('.error-email').css("display") == "block" && $(this).hasClass('error')) {
$(this).removeClass('error');
$('.error-email').slideUp("fast");
}
} else {
$(this).addClass('error');
if ($('#check-email').css("opacity") == "1" && $(this).hasClass('not_error')) {
$(this).removeClass('not_error');
$('#check-email').animate({'opacity': '0'},400);
}
$('.error-email').html('Введите email').slideDown("fast");
}
break;
// password
case 'password':
if(val.length >= 5 && val != '') {
$(this).addClass('not_error');
$('#check-password').animate({'opacity': '1'},400);
if($('.error-password').css("display") == "block" && $(this).hasClass('error')) {
$(this).removeClass('error');
$('.error-password').slideUp("fast");
}
} else {
$(this).addClass('error');
if ($('#check-password').css("opacity") == "1" && $(this).hasClass('not_error')) {
$(this).removeClass('not_error');
$('#check-password').animate({'opacity': '0'},400);
}
$('.error-password').html('Пароль должен быть длинее 5 символов').slideDown("fast");
}
break;
// cvv
case 'cvv':
if(val.length >= 3 && val != '') {
$(this).addClass('not_error');
$('#check-cvv').animate({'opacity': '1'},400);
if($('.error-cvv').css("display") == "block" && $(this).hasClass('error')) {
$(this).removeClass('error');
$('.error-cvv').slideUp("fast");
}
} else {
$(this).addClass('error');
if ($('#check-cvv').css("opacity") == "1" && $(this).hasClass('not_error')) {
$(this).removeClass('not_error');
$('#check-cvv').animate({'opacity': '0'},400);
}
$('.error-cvv').html('Введите CVV').slideDown("fast");
}
break;
} // end switch
}); // end blur
$('#send').click(function(e){
if($('.not_error').length == 4)
{
location.reload()
} else {
if($('#name, #email, #password, #cvv').hasClass('error') || $('#name, #email, #password, #cvv').val().length == 0) {
$('.error-name').html('Имя должно содержать более 2х символов').slideDown("fast");
$('.error-email').html('Введите email').slideDown("fast");
$('.error-password').html('Пароль должен быть длинее 5 символов').slideDown("fast");
$('.error-cvv').html('Введите CVV').slideDown("fast");
return false;
}
}
}); // end submit
}); // end script