Валидатор FormIt Решено

Дополнение: FormIt

Друзья, добрый вечер!
Возникла необходимость сделать валидацию дублированного ввода имэйла в форме обратной связи (по аналогии с повторным вводом пароля в формах регистрации).
Используется ФормИт.
Прошу помощи в реализации.
18 сентября 2017, 17:04    Стас   
0    134 0

Комментарии (10)

  1. Олег 18 сентября 2017, 22:28 # 0
    Все просто, создаешь сниппет, например, myhook.
    В нем пишешь свои правила — мол значение поля email совпадает со значением поля email_check? если да, то return true, иначе false.
    Потом название сниппета вставляешь в список хуков поближе к началу, желательно до email.
    1. Стас 18 сентября 2017, 23:03 # 0
      Спасибо за ответ! Логика ясна, но навыка к сожалению нет. Будет просто волшебно, если всё вышесказанное будет подкреплено кодом. Если несложно, конечно))
      1. Олег 18 сентября 2017, 23:34 # +1
        Есть кое-что поинтереснее
        Так как хук элементарный не должно быть сложностей — один if/else и все.
        1. Стас 18 сентября 2017, 23:41 # 0
          ОК! Попробую разобраться.
          Ещё раз спасибо за участие!
          1. Олег 18 сентября 2017, 23:43 # 0
            Не за что!
            А то я подумал — вдруг я один в понедельник в полночь с кодом ковыряюсь? Обидно!
            Решил исправить :)
            1. Стас 19 сентября 2017, 01:17 # 0
              Так как в коде совсем не силён, пришлось изменить путь с направления изучения php на штатный бутстраповский валидатор!
              Вроде бы и стыдно признаваться в таком подходе, но «цель оправдывает только такие средства».
              Благодарю, Олег, за то, что не пропустил такой пустяковый пост мимо своего внимания!
              1. Олег 20 сентября 2017, 10:31 # +1
                Печально, ну я сделал все что мог)
                Я вижу сниппет примерно так, но писал на глаз, могут быть ошибки.

                <?php
                $fields = $hook->getValues();
                if ($fields['email'] == $fields['email_confirm']]) {
                	return true;
                } else {
                	$hook->addError('email_confirm','Значения полей не совпадают.');
                	return false;
                }
                
    2. Кирилл 19 сентября 2017, 08:52 # 0
      У FormIt есть встроенный валидатор для проверки совпадения полей, называется password_confirm.
      1. Стас 19 сентября 2017, 20:48 # 0
        Да. Но меня смутило имя валидатора, поэтому такой сыр бор. Поэтому и подумал, что есть иной изящный способ.
      2. Стас 20 сентября 2017, 15:23 # 0
        В общем, друзья, получился достаточно продуктивный тиккет с тремя вариантами решения вопроса! Всем спасибо за участие!
        Вы должны авторизоваться, чтобы оставлять комментарии.