Ci-dessous, les différences entre deux révisions de la page.
| Prochaine révision | Révision précédente | ||
| devweb:laravel:validator [01-12-2014 00:02] – créée edmc73 | devweb:laravel:validator [09-01-2015 15:25] (Version actuelle) – [CustomValidator] edmc73 | ||
|---|---|---|---|
| Ligne 9: | Ligne 9: | ||
| ===== Code postal ===== | ===== Code postal ===== | ||
| ' | ' | ||
| + | |||
| + | |||
| + | ===== A savoir ===== | ||
| + | |||
| + | Les erreurs renvoyées par Validator utilise les méthodes de MessageBag. | ||
| + | |||
| + | Donc | ||
| + | <code php> | ||
| + | @if ($errors-> | ||
| + | <div class=" | ||
| + | @foreach ($errors-> | ||
| + | {{$error}}< | ||
| + | @endforeach | ||
| + | </ | ||
| + | @endif | ||
| + | |||
| + | </ | ||
| + | |||
| + | ===== CustomValidator ===== | ||
| + | |||
| + | Définir ses propres validations | ||
| + | <code php> | ||
| + | <? | ||
| + | class CustomValidator extends Illuminate\Validation\Validator { | ||
| + | function __construct($translator, | ||
| + | parent:: | ||
| + | $this-> | ||
| + | } | ||
| + | |||
| + | public function validateHex($attribute, | ||
| + | { | ||
| + | if(preg_match("/ | ||
| + | { | ||
| + | return true; | ||
| + | } | ||
| + | |||
| + | return false; | ||
| + | } | ||
| + | |||
| + | public function validateNameByType($attribute, | ||
| + | { | ||
| + | // On peut mettre vide | ||
| + | if(empty($value)) | ||
| + | return true; | ||
| + | |||
| + | | ||
| + | } | ||
| + | |||
| + | | ||
| + | } | ||
| + | </ | ||
| + | |||
| + | |||
| + | 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) | ||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||