0
votes

Chiffres de validation de Laravel

J'ai une règle:

'price' => 'required|numeric|digits:8,13'


5 commentaires

Juste aller par une recherche Google, ne serait-ce pas chiffres_between ? Ou 2 chiffres validateurs?


@Jonnix N °, alors cela permet d'écrire 9 chiffres, 10, 11 .. E.t.c, j'ai besoin d'autoriser seulement 8 et 13!


Est-ce que la validation de la validation de Laravel prend-elle des validateurs ou qui vous permettraient d'utiliser 2 chiffres clauses? Sinon, vous pouvez écrire votre propre simple.


Quelle version de Laravel utilisez-vous?


@Rosswilson 5.8


3 Réponses :


0
votes

Vous avez besoin d'un règle de validation personnalisée . La fonction Pass serait la suivante: xxx


8 commentaires

Non, alors cela permet d'écrire 9 chiffres, 10, 11 .. e.t.ci, je n'ai besoin que des 8 et 13!


Vous voulez dire peut-être 8 ou 13?


Oui. Seulement 8 ou 13, sans 9,10,11,12


Au fait, je pense qu'un numéro de 13 chiffres est hors de la gamme entière. au2.php.net/manual/es/language.types.Integer. php


Vous bien sûr) merci, je change de type entier en numérique


Et se référant à votre question initiale, vous devez créer une règle de validation personnalisée qui vérifiera si la longueur ou l'entrée est 8 ou 13. laravel.com/docs/5.8/validation#Custom-validation-roules


Nombre (SHLEN (...)) ?? Êtes-vous sûr? ;)


OPS! Ma faute! Merci!



1
votes

Vous pouvez créer une validation personnalisée pour votre besoin. Vérifiez la documentation de Laravel ici. https://laravel.com/docs/5.8/validation

Validator::extend('custom_rule_name',function($attribute, $value, $parameters){
  return  $value == 13 || $value == 8;
});


3 commentaires

.. ou juste retour ($ valeur == 13 || $ valeur == 8)


Je n'ai pas besoin Strlen pour le vérifier?


@Dronax Oui Votre juste vérifier si la valeur est égale à 13 ou 8 'Prix' => 'Obligatoire | numérique | Custom_rule_name'



2
votes

Eh bien, vous pouvez avoir une règle de regex pour imiter 8 chiffres ou 13 chiffres.

'price' => array(
             'required',
             'numeric',
             'regex:/^(\d{8}|\d{13})$/',
           )


2 commentaires

Preg_Match (): Aucun délimiteur final '/' trouvé pourquoi ??


@Dronax je l'ai corrigé. Nous devons mettre des règles de validation dans un tableau lorsque nous avons un | correspondant à la pipe avec le | utilisé pour mentionner plusieurs règles pour éviter toute confusion.