我正在尝试验证laravel中的数字。应该发生的是,这个数字只能增加10倍。
例如:
10: Valid number
11: invalid number
11,5: invalid number
15: invald number
20: valid number
140: valid number
我在请求中设置的规则如下:
"amount" => ["required", "numeric", new UserHasPrivatePublicBalance(), "gte:10"],
Laravel是否有类似这样的内置规则?还是有人可以为我指出如何在纯PHP中验证此类内容的正确方向,以便我可以创建自定义规则?
谢谢!
答案 0 :(得分:4)
https://laravel.com/docs/5.7/validation#using-closures
针对您的情况
'amount' => [
'required',
'numeric',
function ($attribute, $value, $fail) {
if ($value % 10 !== 0) {
$fail($attribute.' must be 10 divisible.'); // your message
}
},
],
答案 1 :(得分:2)
否,没有内置的验证规则可以执行此操作,但是要检查数字是否可以被10整除,您可以执行以下操作:
if($number % 10 != 0) {
return false;
}
模数运算符%
返回除法的余数,因此,如果数字可被10整除,结果将始终为0。