Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/233.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Laravel,以10步为单位验证整数_Php_Laravel - Fatal编程技术网

Php Laravel,以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倍

例如:

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中的数字是实际数字,而不是数字字符串。