我想验证一个可以是整数或字符串的字段。
当它是整数时,最大值必须小于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文档。