Как я могу добавить несколько валидаторов на поле в Symfony 1.4 - PullRequest
1 голос
/ 15 июня 2011

Я написал этот код в классе 'BaseUserForm', расположенном в
{app}/lib/form/doctrine/base

, я пытаюсь добавить два валидатора в поле EMAIL.

$this->setValidators(array(
        'id' => new sfValidatorChoice(array(
            'choices' => array(
                $this->getObject()->get('id')
            ),
            'empty_value' => $this->getObject()->get('id'),
            'required' => false
        )),
        'name' => new sfValidatorString(array('max_length' => 50)),
        'email' => array(
            new sfValidatorString(array('max_length' => 100)),
            new sfValidatorEmail(array('trim' => true))
        ),
        'password' => new sfValidatorString(array('max_length' => 100)),
        'retyepassword' => new sfValidatorString(array('max_length' => 100)),
        'city_id' => new sfValidatorDoctrineChoice(array(
            'model' => $this->getRelatedModelName('Cities')
        )),
        'phone' => new sfValidatorNumber(),
        'created' => new sfValidatorDateTime(),
        'updated' => new sfValidatorDateTime(),
    ));

Приведенный выше код дает ошибку при определении двух валидаторов для поля электронной почты.

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

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

Спасибо

Ответы [ 2 ]

2 голосов
/ 17 июня 2011

sfValidatorAnd() поможет;

удачи

1 голос
/ 09 марта 2015
'email'       => new sfValidatorEmail(array('max_length' => 25, 'required' => TRUE),
                                              array('invalid' => 'The email address is invalid.', 'required' => 'Email Id is required.', 'max_length'=> 'Maximum 25 characters allowed.')),                                
...