Bonjour
J'ai un soucis avec mon formulaire à cause d'un champs dont la validation ne fonctionne pas :
Dans mon fichier formulaire, le champs est initialisé ainsi
Dans mon fichier filter, voici mes paramètres :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 protected $montant = array( 'name' => 'montant', 'type' => 'number', 'attributes' => array( 'min' => '0', #ABSENCE de l'attribut max intensionnelle 'step' => '0.01', 'required' => true ), 'options' => array( 'label' => 'Veuillez rentrer le montant' ) );
La valeur présente dans mon tableau $_POST est la suivante
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 $inputFilter->add($factory->createInput(array( 'name' => 'montant', 'required' => true, 'filters' => array( array( 'name' => 'NumberFormat', 'options' => array( 'locale' => 'fr_FR', 'style' => NumberFormatter::DEFAULT_STYLE, 'type' => NumberFormatter::TYPE_DOUBLE ), ), ), 'validators' => array( array('name' => 'Float', 'option' => array("locale" , "fr")), ), )));
et le message d'erreur est le suivant :
Code : Sélectionner tout - Visualiser dans une fenêtre à part 'montant' => string '10.01' (length=5)
Bien sur lorsque le champs 'montant' contient un entier tel que 10, là pas d'erreur mon formulaire est validé.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 [montant] => Array ( [notFloat] => L'entrée n'est pas un nombre flottant )
Alors es ce que quelqu'un arriverai à me dire où je me trompe ?
Merci beaucoup
Partager