bonjour,

J'ai un petit soucis avec les messages d'erreurs.

j'ai le formulaire suivant :



j'aimerais que mes messages d'erreurs soit les suivants :

- 'Pseudo' est vide : vous devez le compléter
- 'Mot de passe' est vide : vous devez le compléter

voici mon script php FormulaireLogin.php:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
<?php
 
class FormulaireLogin extends Varex_Form {
 
	private $elementDecorators = array(
        'ViewHelper',
		array('Errors', array('class' => 'text')),
		array(array('data' => 'HtmlTag'), array('tag' => 'td', 'class' => 'element')),
		array('Label', array('tag' => 'td', 'class' => 'text')),
		array(array('row' => 'HtmlTag'), array('tag' => 'tr')),
	);
 
	public $checkboxDecorators = array(
        'ViewHelper',
        'Errors',
		array(array('data' => 'HtmlTag'), array('tag' => 'td', 'class' => 'element', 'align'=>'right')),
		array('Label', array('tag' => 'td', 'class' => 'text', 'placement' => 'append')),
		array(array('row' => 'HtmlTag'), array('tag' => 'tr')),
	);
 
	public $buttonDecorators = array(
        'ViewHelper',
		array(array('data' => 'HtmlTag'), array('tag' => 'td', 'class' => 'element', 'colspan' => '2')),
		array(array('row' => 'HtmlTag'), array('tag' => 'tr')),
	);
 
	public function __construct($options = null) {
		parent::__construct($options);
		$this->setName('authentification');
 
		$username = new Zend_Form_Element_Text('username');
		$username->setLabel('Pseudo')
			->setOptions(array('class'=>'inputtext'))
			->setRequired(true)
			->addValidator('Alpha',
				array('StringLength', false, array(3, 20)))
			->setDecorators($this->elementDecorators);
 
		$password = new Zend_Form_Element_Text('password');
		$password->setLabel('Mot de passe')
			->setOptions(array('class'=>'inputtext'))
			->setRequired(true)
			->addValidator(
				'Alnum',
				array('StringLength', false, array(6, 20)))
			->setDecorators($this->elementDecorators);
 
		$remember = new Zend_Form_Element_Checkbox('remember');
		$remember->setLabel('Se souvenir de moi')
			->setDecorators($this->checkboxDecorators);
 
		$submit = new Zend_Form_Element_Submit('submit');
		$submit->setLabel('Entrez')
			->setOptions(array('class'=>'text'))
			->setDecorators($this->buttonDecorators);
 
		$this->addElements(array($username, $password, $remember, $submit));
 
		$this->setDecorators(array(
		    'FormElements',
			array('HtmlTag', array('tag' => 'table', 'id' => 'connexionBoxTable')),
		    'Form',
		));
	}
}
et le script Form.php (récupéré sur ce site) :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
<?php 
 
class Varex_Form extends Zend_Form
{
    /**
    * construction du formulaire
    *
    * @param  mixed $options
    * @return void
    */
    public function __construct($options = null)
    {
        parent::__construct($options);
 
        // traduction des messages d'erreur de validation
        $french = array(
	        'notAlnum' => "'%value%' ne contient pas que des lettres et/ou des chiffres.",
	        'notAlpha' => "'%value%' ne contient pas que des lettres.",
	        'notBetween' => "'%value%' n'est pas compris entre %min% et %max% inclus.",
	        'notBetweenStrict' => "'%value%' n'est pas compris entre %min% et %max% exclus.",
	        'dateNotYYYY-MM-DD'=> "'%value%' n'est pas une date au format AAAA-MM-JJ (exemple : 2000-12-31).",
	        'dateInvalid' => "'%value%' n'est pas une date valide.",
	        'dateFalseFormat' => "'%value%' n'est pas une date valide au format JJ/MM/AAAA (exemple : 31/12/2000).",
	        'notDigits' => "'%value%' ne contient pas que des chiffres.",
	        'emailAddressInvalid' => "'%value%' n'est pas une adresse mail valide selon le format adresse@domaine.",
	        'emailAddressInvalidHostname' => "'%hostname%' n'est pas un domaine valide pour l'adresse mail '%value%'.",
	        'emailAddressInvalidMxRecord' => "'%hostname%' n'accepte pas l'adresse mail '%value%'.",
	        'emailAddressDotAtom' => "'%localPart%' ne respecte pas le format dot-atom.",
	        'emailAddressQuotedString' => "'%localPart%' ne respecte pas le format quoted-string.",
	        'emailAddressInvalidLocalPart' => "'%localPart%' n'est pas une adresse individuelle valide.",
	        'notFloat' => "'%value%' n'est pas un nombre décimal.",
	        'notGreaterThan' => "'%value%' n'est pas strictement supérieur à '%min%'.",
	        'notInt'=> "'%value%' n'est pas un nombre entier.",
	        'notLessThan' => "'%value%' n'est pas strictement inférieur à '%max%'.",
	        'isEmpty' => "Ce champ est vide : vous devez le compléter.",
	        'stringEmpty' => "Ce champ est vide : vous devez le compléter.",
	        'regexNotMatch' => "'%value%' ne respecte pas le format '%pattern%'.",
	        'stringLengthTooShort' => "'%value%' fait moins de %min% caractères.",
	        'stringLengthTooLong' => "'%value%' fait plus de %max% caractères."
        );
 
        $translate = new Zend_Translate('array', $french, 'fr');
        $this->setTranslator($translate);
    }
}
Je vous remercie d'avance pour votre aide