Валидатор FormIt

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

Комментарии: 10

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

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