Laravel 如何在验证规则中添加`OR`运算符?
我在Laravel 5.7中使用验证。我想在验证中使用数字10或16作为id_编号。我怎么办?有什么建议吗Laravel 如何在验证规则中添加`OR`运算符?,laravel,validation,digits,Laravel,Validation,Digits,我在Laravel 5.7中使用验证。我想在验证中使用数字10或16作为id_编号。我怎么办?有什么建议吗 public function rules() { return [ 'id_number' => 'required|digits:10 or digits:16', ]; } 您可以在验证规则中使用它 return [ 'params.personal_information.id_number' => 'required|
public function rules()
{
return [
'id_number' => 'required|digits:10 or digits:16',
];
}
您可以在验证规则中使用它
return [
'params.personal_information.id_number' => 'required|in:10,16',
];
或者使用Rule::in,您可以这样使用
use Illuminate\Validation\Rule;
Validator::make($data, [
'params.personal_information.id_number' => [
'required',
Rule::in([10, 16]),
],
]);
请检查文件是否有误
编辑:-
作为您的评论,您希望id_编号应介于10到16之间,以便您可以使用between规则
您可以在验证规则中使用它
return [
'params.personal_information.id_number' => 'required|in:10,16',
];
或者使用Rule::in,您可以这样使用
use Illuminate\Validation\Rule;
Validator::make($data, [
'params.personal_information.id_number' => [
'required',
Rule::in([10, 16]),
],
]);
请检查文件是否有误
编辑:-
作为您的评论,您希望id_编号应介于10到16之间,以便您可以使用between规则
您可以通过添加新规则或添加新规则来创建自己的规则 否则,在您的情况下,该选项可能会起作用:
'foo' => 'regex:/^(\d{10}|\d{16})$/i'
上面的代码ins not tested您可以通过添加新规则或添加新规则来创建自己的规则 否则,在您的情况下,该选项可能会起作用:
'foo' => 'regex:/^(\d{10}|\d{16})$/i'
以上代码未测试感谢您的回复。事实上,我指的是10或16个数字字符,而不仅仅是10或16个数字。你指的是10到1610,11,12,13,14,15,16之间的数字吗?不,我指的是id_数字可以是10个数字。1234567890或16位数字示例。1234567891234567对不起,我不能清楚地解释我的问题。这里有一个方法,但它会检查10到16个方法。或者你可以做一件事,你可以让你的自定义验证器作为数字限制10或16应该被接受。得到你的解决方案吗?如果是,请告诉我您是如何做到的?谢谢您的回复。事实上,我指的是10或16个数字字符,而不仅仅是10或16个数字。你指的是10到1610,11,12,13,14,15,16之间的数字吗?不,我指的是id_数字可以是10个数字。1234567890或16位数字示例。1234567891234567对不起,我不能清楚地解释我的问题。这里有一个方法,但它会检查10到16个方法。或者你可以做一件事,你可以让你的自定义验证器作为数字限制10或16应该被接受。得到你的解决方案吗?如果是,请告诉我您是如何做到的?谢谢。。这个代码是错误的,但我发现我应该使用正则表达式。。谢谢你。。这个代码是错误的,但我发现我应该使用正则表达式。。谢谢