Валидация формы

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...