Phalcon — условная проверка на том же поле

Я хочу проверить поле друг. Это может быть адрес электронной почты или номер мобильного телефона. Как проверить оба входных значения (электронная почта/мобильный телефон)?

Мой сценарий:

$this->add('refer_type', new PresenceOf(array(
           'message' => self::fetchErrorMessage('Refer Type', 'ERROR_REQUIRED'))))
     ->add('refer_type', new InclusionIn(array(
           'message' => self::fetchErrorMessage('Refer Type', 'ERROR_VALID'),
           'domain' => ['mobile', 'email'])));

Если тип ссылки мобильный, я проверю его следующим образом:

$this->add('friend', new PresenceOf(array(
           'message' => self::fetchErrorMessage('Friend', 'ERROR_REQUIRED'))))
     ->add('friend', new Regex(array(
            'pattern' =>  '/^[0-9]*$/',
            'message' => self::fetchErrorMessage('friend', 'ERROR_VALID'))));

То же самое для электронной почты, но я хочу одновременно проверить обе проверки (электронная почта/мобильный телефон) в отношении одного и того же поля.


person Von    schedule 21.12.2015    source источник


Ответы (1)


Я предлагаю вам написать собственный валидатор (FriendValidator). Вы можете найти пример по адресу https://docs.phalconphp.com/en/latest/reference/validation.html (проверьте IpValidator). Затем вы будете использовать свой FriendValidator в своей форме.

person anilyeni    schedule 21.12.2015