Outils pour utilisateurs

Outils du site


devweb:laravel:validator (lu 9146 fois)

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
devweb:laravel:validator [04-01-2015 00:26]
edmc73
devweb:laravel:validator [09-01-2015 16:25] (Version actuelle)
edmc73 [CustomValidator]
Ligne 26: Ligne 26:
  
 </code> </code>
 +
 +===== CustomValidator =====
 +
 +Définir ses propres validations
 +<code php>
 +<?php 
 +class CustomValidator extends Illuminate\Validation\Validator {
 +  function __construct($translator, $data, $rules, $messages = array(), $customAttributes = array()){
 +    parent::__construct($translator, $data, $rules, $messages, $customAttributes);
 +    $this->implicitRules[] = studly_case('name_by_type');
 +  }
 + 
 +  public function validateHex($attribute, $value, $parameters)
 +  {
 +    if(preg_match("/^#?([a-f0-9]{6}|[a-f0-9]{3})$/", $value))
 +    {
 +      return true;
 +    }
 +   
 +    return false;
 +  }
 +
 +  public function validateNameByType($attribute, $value, $parameters)
 +  {
 +        // On peut mettre vide
 +        if(empty($value))
 +          return true;
 + 
 +  return false;
 +  }
 +
 +  
 +}
 +</code>
 +
 +
 +Subtilité, si le champ envoyé par le formulaire est vide, aucune validation ne sera faite sur ce champ. Pour forcer tout ça, il faut rendre la règle **implicit** en rajoutant le constructeur et en ajoutant la règle dans le tableau des règles implicites (comme toutes les règles commençant par required)
 +
 +
 +
 +
 +
 +
  
devweb/laravel/validator.1420327576.txt.gz · Dernière modification: 04-01-2015 00:26 de edmc73