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