@chernyavskiy94

Оцените мой скрипт валидации формы?

Доброй ночи, еще раз :)

Написал простенький скрипт валидации формы, пока без проверки правильности.
Пока только учусь, это мой первый написанный с нуля скрипт, буду рад критике и похвале :)
Вникать конечно не нужно, просто если не сложно указать на ошибки, которые сразу бросаются в глаза.
Буду очень Вам благодарен!
HTML:

<div class="wblock">
	<a href="#" class="openblock">Несколько модальных окон на странице</a>
	<div class="wblock">
		<div class="wform">
			<div class="title">Форма №1</div>
			<form action="#" method="post" id="form1">
				<input type="text" placeholder="Имя" class="check" name="name">
				<div class="error-message"></div>
				<input type="text" placeholder="Фамилия" class="check" name="surname">
				<div class="error-message"></div>
				<input type="text" placeholder="Отчество" class="check" name="otch">
				<div class="error-message"></div>
				<input type="text" placeholder="Телефон" class="check" name="phone">
				<div class="error-message"></div>
				<input type="text" placeholder="E-mail" class="check" name="email">
				<div class="error-message"></div>
				<input type="submit" value="Проверить" class="btn">
			</form>
		</div>
		<a href="#" class="openmodal" rel="form1">Форма №1</a>
	</div>
</div>


JS:
$(document).ready(function(){

	var checkInput = $(".check");
	var btn = $(".btn");
	var name = $("input[name='name']");
	var surname = $("input[name='surname']");
	var otch = $("input[name='otch']");
	var phone = $("input[name='phone']");
	var email = $("input[name='email']");
	var errorMessage = $(".error-message");
	
	btn.click(function(){
		$(".check").each(function(){
			if($(this).val() == ""){
				event.preventDefault();
				$(this).addClass("error");
				$(this).on("keyup",function(e){
					if($(this).val().length >= 2){
						$(this).removeClass('error');
					}
				});
			}
			else{
				
			}
		});
		
		//Проверка поля "Имя"

		if(name.val() == ""){
			name.next().text("Пожалуйста, укажите Ваше имя");
			name.on("keyup",function(e){
				if($(this).val().length >= 2){
					$(this).next(".error-message").remove();
				}
			});
		}
		
		//Проверка поля "Фамилия"

		if(surname.val() == ""){
			surname.next().text("Пожалуйста, укажите Вашу фамилию");
			surname.on("keyup",function(e){
				if($(this).val().length >= 2){
					$(this).next(".error-message").remove();
				}
			});
		}
		
		//Проверка поля "Отчество"

		if(otch.val() == ""){
			otch.next().text("Пожалуйста, укажите Ваше отчество");
			otch.on("keyup",function(e){
				if($(this).val().length >= 2){
					$(this).next(".error-message").remove();
				}
			});
		}
		
		//Проверка поля "Телефон"

		if(phone.val() == ""){
			phone.next().text("Пожалуйста, укажите Ваш телефон");
			phone.on("keyup",function(e){
				if($(this).val().length >= 2){
					$(this).next(".error-message").remove();
				}
			});
		}
		
		//Проверка поля "Email"

		if(email.val() == ""){
			email.next().text("Пожалуйста, укажите Ваш Email");
			email.on("keyup",function(e){
				if($(this).val().length >= 2){
					$(this).next(".error-message").remove();
				}
			});
		}
	});
});
  • Вопрос задан
  • 2544 просмотра
Пригласить эксперта
Ответы на вопрос 3
Taraflex
@Taraflex
Ищу работу. Контакты в профиле.
Вместо keyup подписывайтесь на change или input.
Ответ написан
xmoonlight
@xmoonlight
https://sitecoder.blogspot.com
Простите, если не в тему....
Ответ написан
Комментировать
Rema1ns
@Rema1ns
и так сойдет
однажды вам надоест писать велосипеды каждый раз и вы посмотрите в торону готовых плагинов )
для данной задачи я бы использовал jqueryvalidation.org
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
КРАФТТЕК Санкт-Петербург
от 60 000 до 80 000 ₽
Brightdata Тель-Авив
от 5 500 до 6 500 $
Rocket Брянск
от 60 000 до 100 000 ₽
22 мая 2024, в 20:14
3600 руб./за проект
22 мая 2024, в 20:08
3000 руб./за проект
22 мая 2024, в 20:01
600000 руб./за проект