Показать сообщение отдельно
  #1 (permalink)  
Старый 07.12.2018, 22:45
Аспирант
Отправить личное сообщение для SolomonRei Посмотреть профиль Найти все сообщения от SolomonRei
 
Регистрация: 05.04.2018
Сообщений: 77

Не работает проверка
Добрый вечер.Есть проверка формы.Но как только пользователь ввел что-то не правильно,проверка срабатывает,а как только он исправил эту ошибку.Ошибка все равно продолжается выводиться.И форма не отправляется.Подскажите,ка к исправить.
var errors_reg = [];
 
 $('#formregistering').submit(function(e) {
   e.preventDefault();
   check_reg();
   errors_reg = [];
 });
 function check_reg() {
   var login = $("#login-register").val(),
       password = $("#password-register").val(),
       password_repeat = $("#password-repeat-register").val(),
       email = $("#email-register").val();
       if ($("input[type=checkbox][name=rules]").prop('checked')) protect = 'on';
       else protect = 'off';
       

   login = login.trim();
   password = password.trim();
   password_repeat = password_repeat.trim();
   email = email.trim();


   if (!login.match(/^[a-z0-9]+$/i)) setError('Введите корректный логин');
   if (!password.match(/^[a-z0-9-_]+$/i) && (!password_repeat.match(/^[a-z0-9-_]+$/i))) setError('Введите корректный пароль');
   if (password != password_repeat) setError('Пароли не совпадают');
   if(protect != 'on') setError('Согласитесь с политикой конфиденциальности');
   if (getErrors().length == 0) {
        ajax_query_reg({'login': login, 'password': password, 'password_repeat':password_repeat, 'email': email, 'protect': protect, 'hash': tok2});
         function ajax_query_reg(data) {
            $.ajax({
                url: 'handler/registerUser',
                type: "POST",
                data: data,
                dataType: "text",
                success: successReg
            });
        }
          function successReg(result) {
        //      var html = $(result);
        // var txt = html.eq(0).text() + '\n';
        // var txt = txt + html.eq(2).text();
        // alert(txt);
              switch(result) {
                case '1': 
                  location="user/panel";
                  break;
                default:
                var html = $(result);
        var txt = html.eq(0).text() + '\n';
        var txt = txt + html.eq(2).text();
        alert(txt);
                   break;
              }
           }
   }else alert(getErrors());
 }
 function setErrorReg(data) {
   errors.push(data);
 }
 
 function getErrorsReg() {
   return errors;
 }


<form method = "POST" class = "form-registration" id = "formregistering">
					<label class="placeinput">
						<input type="text" name="login" id = "login-register" required = "1" class = "input-registration form-login">
						<div class="place_holder text-registration-form">Введите логин</div>
						<div class = "error-forms" id = "error-1"></div>
						<br />
					</label>

					<label class="placeinput">
						<input type="password" name="password" id = "password-register" required class = "input-registration">
						<div class="place_holder text-registration-form">Введите пароль</div>
						<div class = "error-forms" id = "error-2"></div>
						<br />
					</label>
					<label class="placeinput">
						<input type="password" name="password-repeat" id = "password-repeat-register" required class = "input-registration">
						<div class="place_holder text-registration-form">Повторите пароль</div>
						<div class = "error-forms" id = "error-3"></div>
						<br />
					</label>
					<label class="placeinput">
						<input type="email" name="email" required id = "email-register" class = "input-registration">
						<div class="place_holder text-registration-form">Введите email</div>
						<div class = "error-forms" id = "error-4"></div>
						<br />
					</label>
					<label class = "checkbox-emulate"><input type="checkbox" name="rules" ><span></span></label><p class = "agree-text">Я согласен с политикой конфиденциальности</p>
					<input type="submit" name="button_register" value = "зарегистрироваться" class = "button-registration">
				</form>
Ответить с цитированием