Alors j'utilise Zend et j'ai un formulaire Zend avec un Zend_Form_element_file et trois validateurs:
1. Setrequired
2. Extension
3. Taille Je veux définir des messages d'erreur personnalisés pour ces validateurs, mais ne sais pas comment. P> La raison pour laquelle je veux définir un message d'erreur personnalisé est parce que je Avoir un décorateur personnalisé avec lequel je saisis toutes les erreurs lorsque le formulaire n'est pas valide avec ISVALID () et les afficher en haut du formulaire. La méthode pour laquelle j'attrape des erreurs dans la forme est GetterRorors (). P> J'ai aussi essayé: Http://www.mail-archive.com/fw-general@lists.zend.com/msg25779.html
En faisant: p> et faire p> n'importe quelle aide? P> P>
3 Réponses :
$this->browse = new Zend_Form_Element_File('Browse'); $this->browse->setRequired(true) ->removeDecorator('errors') ->removeDecorator('label') ->addValidator('Extension', true, 'pdf') ->addValidator('Size', false, 2000000) //->setMessage('You custom message') ->addValidator('File_Upload', true, array('messages'=>'You custom message'));
C'est comme ça que j'utilise pour définir le message de validateur personnalisé.
$file = new Zend_Form_Element_File('file'); $file->setLabel('File Label') ->setMaxFileSize('512000') ->addValidator('Count', true, 1) ->addValidator('Size', true, 512000) ->addValidator('Extension', true, 'jpg,jpeg,png,gif'); $file->getValidator('Count')->setMessage('You can upload only one file'); $file->getValidator('Size')->setMessage('Your file size cannot upload file size limit of 512 kb'); $file->getValidator('Extension')->setMessage('Invalid file extension, only valid image with file format jpg, jpeg, png and gif are allowed.');
Merci pour cela! Je chaste pour un moyen de le faire, mais cela n'était pas trop clair dans les documents.
Pour ajouter un message personnalisé sur zend_form_element_file, voir le code suivant,
$browse = new Zend_Form_Element_File('Browse'); $browse->addValidator('Extension', false, array('pdf', 'messages'=>array('fileExtensionFalse'=>'file extension is not supported')) ->addValidator('Size', false, array(2000000, 'messages'=>array('filesizefalse'=>'maximum 2000000 supported'));