Yii Framework Forum: Meilleure façon de nettoyer une valeur avant validation - Yii Framework Forum

Jump to content

Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

Meilleure façon de nettoyer une valeur avant validation Rate Topic: -----

#1 User is offline   AsakuraYoh 

  • Newbie
  • Yii
  • Group: Members
  • Posts: 2
  • Joined: 18-April 11

Posted 18 April 2011 - 09:20 PM

Bonjour.

Voici mon problème:
Je souhaite nettoyer mes valeurs de modèle avant de valider celui-ci.
Par exemple, j'ai un champ ISBN que je souhaite nettoyer des caratères inutiles (tirets, espaces, lettres, etc).

J'ai trouvé 2 façons de faire:
  • Utiliser la fonction beforeValidate
  • Utiliser une règle (rule, ou validation, si vous voulez) custom

La première façon n'est pas super à mon avis, car il faut renvoyer "true" pour que la validation continue... Donc pas vraiment fait pour ce que je veux.
La deuxième fonctionne bien. Je n'ai qu'à ne pas mettre d'erreur et ça passe comme dans du beurre. En plus, je peux la placer dans l'ordre que je veux dans ma liste de règles de validation...

Mais je me demandais s'il existe un moyen plus efficace ou plus propre de faire ça. Bien que je pense que la solution de la règle de validation soit, pour l'instant, la plus propre et la plus pratique.

Merci ;)
0

#2 User is offline   Raoul 

  • Master Member
  • PipPipPipPip
  • Yii
  • Group: Members
  • Posts: 631
  • Joined: 29-November 08
  • Location:Paris, France

Posted 19 April 2011 - 03:16 AM

Salut AsakuraYoh,
non seulement l'utilisation d'une règle est la meilleure solution, mais en plus, Yii a déjà prévu le coup !! .... et oui, il existe le validator CFilterValidatorqui est justement dédié à ce type de traitement.

Donc 2 fois "oui" pour ta solution ;)

8)
0

#3 User is offline   AsakuraYoh 

  • Newbie
  • Yii
  • Group: Members
  • Posts: 2
  • Joined: 18-April 11

Posted 19 April 2011 - 06:17 AM

Oh. Ça m'a complètement passé sous le nez, ce filtre :P j'avais créé mon propre filtre pour 'trim', je vais pouvoir supprimer ca XD

Merci beaucoup!
0

Share this topic:


Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

1 User(s) are reading this topic
0 members, 1 guests, 0 anonymous users