Créer un compte ou loggez-vous pour pouvoir ajouter, commenter et noter les snippets.

Navigation

my Symfony Plugins

Plugins demos


My bookmarks

Vous pouvez commenter/noter en utilisant le compte anonymous (mot de passe: anonymous)
You can comment/rate using the anonymous account (password: anonymous).

[symfony 1.1 / 1.2] : Validation OR sur 2 champs différents - 814 view(s)

    // Check category or query
    $v = new sfValidatorCallback(array(
      'callback' => array($this, 'checkCategoryOrQuery')
    ,) ,
    array(
      'invalid'  => 'Veuillez choisir une rubrique ou un mot clé'
    ));
 
    $this->validatorSchema->setPostValidator($v);

et le callback qui va bien:

  /**
   * Check if a category or a keyword has been set.
   *
   * @param sfValidator $validator
   * @param Array $value Form values
   * @param Array $arguments  Validation arguments
   * 
   * @return mixed
   */
  public function checkCategoryOrQuery($validator, $value, $arguments)
  {
    if (empty($value['category_id']) && empty($value['nature_id']))
    {
      throw new sfValidatorError($validator, 'invalid');
    }
 
    return $value;
  }
par COil le 2008-09-29, taggé : callback  form  symfony  validation  validator 

Commentaires sur ce snippet

gravatar icon
#1 thiierrybo le 2009-03-03 at 09:09

Bonjour,

dans ton appel du callback, comment sont alimentés $validator, $value, $arguments ?

gravatar icon
#2 COil (Vernet Loïc) le 2009-03-14 at 02:52

Ces valeurs sont automatiquement passées par symfony. L'argument $arguments correspond normalement au 3ème argument que l'on passe pour l'option callback quand on créé le validateur sfValidatorCallback.

Ajouter un commentaire / Add a comment

Nom / Pseudo : 

Email (gravatar activé/activated) : 

Site Web (facultatif/optional) : 

Commentaire / Comment : (*)

Ecrivez le mot "vache" ci dessous. (Write the word "vache" below) (*)

Debug toolbar