В Zend_Form, как избежать Zend_Validate_Email от генерации нескольких ошибок?

Используйте git filter-branch с огибающим фильтром, который устанавливает GIT_AUTHOR_DATE и GIT_COMMITTER_DATE для определенного хеша фиксации, которую Вы надеетесь фиксировать.

Это будет делать недействительным это и все будущие хеши.

Пример:

, Если Вы хотели измениться эти даты из фиксации 119f9ecf58069b265ab22f1f97d2b648faf932e0, Вы могли бы сделать так с чем-то вроде этого:

git filter-branch --env-filter \
    'if [ $GIT_COMMIT = 119f9ecf58069b265ab22f1f97d2b648faf932e0 ]
     then
         export GIT_AUTHOR_DATE="Fri Jan 2 21:38:53 2009 -0800"
         export GIT_COMMITTER_DATE="Sat May 19 01:01:01 2007 -0700"
     fi'

9
задан kander 6 August 2009 в 15:32
поделиться

3 ответа

В Zend Form Element есть различные методы, которые вы можете использовать для настроить сообщения. Из документации не очень ясно, но addErrorMessage () устанавливает одно настраиваемое сообщение об ошибке при неудачной проверке.

Таким образом, ваш пример будет выглядеть так:

$email = new Zend_Form_Element_Text('email');
$email->setLabel('Email')
      ->setRequired(true)
      ->addFilter('stringtrim')
      ->addValidator('emailAddress', true)
      ->addErrorMessage('Your email address is invalid');
$this->addElement($email);

См. http://framework.zend.com/manual/en/zend.form.elements.html#zend.form.elements.validators.errors

10
ответ дан 4 December 2019 в 14:30
поделиться

Просмотрите этот учебник Падраика Брэди по использованию Zend_Form .

В частности, раздел «Шаг 4: Обработка сообщений об ошибках с помощью специального декоратора» . "

3
ответ дан 4 December 2019 в 14:30
поделиться

Поскольку эти сообщения генерируются одним валидатором, я не думаю, что это возможно : - (

Метод Zend_Validate_EmailAddress :: isValid выполняет все проверки, по всей видимости, генерирует ошибки в целом.

Одним из «хакерских» решений может быть итерация ошибок в вашем контроллере , и удалите все, кроме первого, для каждого поля, которое имеет более одного ... Но мне не очень нравится, как это звучит ...


Вы, конечно, можете унаследовать и изменить поведение по умолчанию ... Но вы заявили, что не хотите этого делать, так что ...


Тем не менее, если я ошибаюсь, а способ есть, мне это очень любопытно; -)

1
ответ дан 4 December 2019 в 14:30
поделиться
Другие вопросы по тегам:

Похожие вопросы: