Laravel does not have a validation for decimal
, so I need a regex
or other validation method to validate a numeric value of 0 - 99.99
I have tried
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}/
I am either getting "invalid format" when trying to enter 0.05
or unknown modifiers for preg_match
any help with the regex
needed to validate a decimal in laravel
is appreciated (with optional values before or after decimal
The Laravel between
validation rule is actually pretty powerful and can handle decimal values as well. So there's no need to use regex just do this:
'required|between:0,99.99'
The laravel(5?) between rule does always get it has to parse a decimal, you have to add numeric to it to validate correctly
'required|numeric|between:0,99.99',
this will work for number allowing two decimal precision:
function rules(){
return [
'field_name'=> array('regex:/^(?:d*.d{1,2}|d+)$/','min:1','max:10')
];
}
来源:https://stackoverflow.com/questions/29734046/laravel-validate-decimal-0-99-99