Валидация формы
by AJIEKCEU
JavaScript
/*Валидатор Форм, поля должны содержать класс chk*/
//var mes = BX.message('CHK_FORM_ERR_MES');
var mes = '<div class="err_mess">Заполните обязательные поля</div>';
function validateForm(form, btn){
var error = 0,
btn = btn || false,
forma = $(form),
dataAjax = forma.data('ajax'),
files = forma.find(".inputfile")[0],
size = forma.find(".inputfile").attr('data-size'),
email = forma.find('input[type="email"].chk'),
emailVal = email.val();
forma.find('.err_mess,.complete').remove();
forma.find(".chk").each(function() {
var field = $(this);
if(!field.val()){
if(field.is(":hidden")){
field.next('.selected').addClass('err');
}
field.addClass('err');
error = 1;
}
else{
field.removeClass('err');
field.next('.selected').removeClass('err');
}
});
if (email.length){
if(!isValidEmailAddress(emailVal)){
email.addClass('err');
error = 1;
}
else{
email.removeClass('err');
}
}
if(error === 0){
if(typeof dataAjax !== "undefined"){
forma.find('[type=submit]').prop("disabled", true);
var data = new FormData(forma.get(0));
if(btn != false){
data.append(btn.attr('name'),btn.val());
}
$.ajax({
type: "POST",
url: dataAjax,
data: data,
processData: false,
contentType: false,
dataType: "html",
success:function(result){
forma.find('.err_mess,.complite').remove();
forma.find('[type=submit]').prop("disabled", false);
data = JSON.parse(result);
if(data.result === "Y"){
forma.find('input:not([type="submit"],[type="hidden"]),textarea').val('');
forma.find('.form-message').html(data.txt);
}else{
forma.find('.form-message').html(data.txt);
}
}
});
return false;
}
else{
return true;
}
}
else{
forma.find('.err_mess,.complete').remove();
forma.find('.form-message').html(mes);
return false;
}
};
function...