I have a field days in my model, now I want to only save integer or float values in this column.
Values can be like:
120.52.5
I tried to use numeric but then it is not allowing me to input float values:
$this->validate($request, [
'days' => 'required|numeric|min:1|max:50',
]);
Any help is highly appreciated.
Thanks
CodePudding user response:
You can use closures if no validation rule helps you.
So, first try this:
'days' => 'required|numeric|min:0|max:50',
If it is not working, we can use closures:
'days' => [
'required',
'numeric',
function ($attribute, $value, $fail) {
if ($value <= 0) {
$fail($attribute.' must be greater than 0.');
}
},
'max:50',
],
Have in mind that numeric validation, uses is_numeric built-in PHP function.
CodePudding user response:
You can try custom validation rules for your case. Example:
'days' => 'required|regex:/^\d*(\.\d{2})?$/'
