Propriété Double, html:text et validation ?
Bonjour,
J'ai un bean dont une propriété est de type Double.*
Dans une page jsp, j'utilise le tag <html:text... pour cette propriété.
J'ai un validateur qui indique que ce champ est requis.
Mais dans l'action de submit la valeur de ma propriété Double est 0.0 et donc ne passe pas la validation, idéalement, j'attendais une valeur null.
Savez vous comment résoudre ce pb ?
Merci d'avance
Il faut utiliser un converter
Il ne faut pas que tous tes champs soient de type String sinon tu n'en fini pas, il faut convertir (a la main) chacun de tes champs dans leur vrai type (ici double). Il y a des convertisseurs qui sont la pour ça (class converter de struts). Il gère tout seul si le champ est mal saisie, affichage d'un message d'erreur etc. ce n'est pas toi dans chaque action qui test si ton champ n'est pas un double alors je retourne KO.
Pour ton cas de validation tu peux créer une classe de validation que tu définit dans ton fichier struts validator-rules et qui fait la vérification si ton champ est vide ou non. et qui test si ton double vaut "0.0". il reste le cas ou la personne entre 0.0, dans ce cas là tu te cré une autre méthode genre doubleValide toujours dans le validator et c'est lui qui gère la bonne saisie de ton nombre.
j'espère etre assez clair dans mes explications...