在Laravel验证中提交的字符串和整数规则



我想验证一个可以是整数或字符串的字段。

当它是整数时,最大值必须小于30,并且字符串最大值最多必须为10个字符。

有没有任何定制规则的方法可以解决?如果没有,创建此规则的最佳算法是什么?

尝试这样的东西:

$validator = Validator::make($request->all(), [
    'title' => [
        'required',
        function ($attribute, $value, $fail) {
            if (is_int($value) && $value > 30) {
                $fail($attribute . ' must be less than 30.');
            } else if (is_string($value) && strlen($value) > 10 ) {
                $fail($attribute . ' must be less than 10 characters.');
            }
        },
    ],
]);

有关更多信息,请参见Laravel文档。

最新更新