Php Laravel,以10步为单位验证整数
我在验证拉威尔的一个数字。应该发生的是,这个数字只能增加10倍 例如:Php Laravel,以10步为单位验证整数,php,laravel,Php,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()
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中验证这样的东西,以便创建自定义规则的正确方向吗
谢谢 否,没有用于执行此操作的内置验证规则,但要检查数字是否可被10整除,可以执行以下操作:
if($number % 10 != 0) {
return false;
}
模运算符%
返回除法的余数,因此如果该数字可被10整除,则结果将始终为0。
为了你的案子
'amount' => [
'required',
'numeric',
function ($attribute, $value, $fail) {
if ($value % 10 !== 0) {
$fail($attribute.' must be 10 divisible.'); // your message
}
},
],
您可能需要为其中的
$number%10==0
创建一个自定义规则,即该数字可以被10整除。您的laravel版本?如果您想要一种黑客方式,您可以执行regex:/^\d+0$/
,但它可能不适用于JSON请求,因为JSON中的数字是实际数字,而不是数字字符串。