web-dev-qa-db-fra.com

Laravel valide la décimale 0-99,99

Laravel n'a pas de validation pour decimal, j'ai donc besoin d'un regex ou d'une autre méthode de validation pour valider une valeur numérique de 0 - 99.99

J'ai essayé

required|regex:^\d{0,2}(\.\d{1,2})?$/
required|regex:[1-9]\d?(\.\d\d?)?|0\.[1-9]\d?||0\.0[1-9]
required|regex:/[1-9]\d?(\.\d\d?)?|0\.[1-9]\d?||0\.0[1-9]/
required|regex:/[\d]{2}.[\d]{2}/
required|regex:/[\d]{0-2}.[\d]{0,2}/

J'obtiens soit un "format invalide" en essayant d'entrer 0.05 ou des modificateurs inconnus pour preg_match

toute aide avec le regex nécessaire pour valider une décimale en laravel est appréciée (avec des valeurs facultatives avant ou après la décimale

17
Kender

La règle de validation Laravel between est en fait assez puissante et peut également gérer des valeurs décimales. Il n'est donc pas nécessaire d'utiliser l'expression régulière uniquement:

'required|between:0,99.99'
50
lukasgeiter

Le laravel (5?) Entre la règle obtient toujours qu'il doit analyser une décimale, vous devez lui ajouter du numérique pour valider correctement

'required|numeric|between:0,99.99',
62
grisgruis

cela fonctionnera pour le nombre permettant une précision de deux décimales:

function rules(){

   return [
   'field_name'=> array('regex:/^(?:d*.d{1,2}|d+)$/','min:1','max:10')
        ]; 
}
5
Neeraj Negi