Имам елемент на формуляр за заснемане на имейл адреси. Използвам Zend_Validate_EmailAddress
на елемента и той генерира съобщения за грешка, които не са много удобни за потребителя.
Първата ми стъпка беше да посоча нови съобщения, които са по-удобни за потребителя, но някои от проверките просто не се поддават на удобно за потребителя съобщение. След това се опитах просто да изчистя тези съобщения, след като изпълних isValid()
във формуляра и посочих моите собствени, но нито една от функциите, които открих, няма да изчисти съобщенията.
Каквото пробвах и резултати
setErrorMessages()
- Зададените тук стойности изглежда се игнорират напълноclearErrorMessages()
- Изглежда, че е пренебрегнатоsetErrors()
- Добавя моето съобщение, но оставя останалите непокътнати
Това е кодът, който показва грешките в моя персонализиран скрипт за изглед:
<?php if ($this->element->hasErrors()): ?>
<?php echo $this->formErrors($this->element->getMessages()); ?>
<?php endif; ?>
МОЕТО РЕШЕНИЕ
Награждавам Гордън с отговора, защото неговото решение е най-пълното, но в крайна сметка използвах функцията addErrorMessage()
на елемент като този:
$element->addValidator('EmailAddress', false, $this->_validate['EmailAddress'])
->addErrorMessage("'%value%' is not a valid email address");
$element->addValidator('Date', false, array('MM/dd/yyyy'))
->addErrorMessage("Date must be in MM/DD/YYYY format");