我有一个动态电话号码验证规则,并且我需要2个值:number
和country
。
我用来验证电话号码的库是brick/phonenumber,其中可以包含国家/地区代码以准确地解析它。
所以,我目前的工作方式如下:
$request->validate([
'country' => ['required', 'max:2'],
]);
$request->validate([
'number' => ['required', new PhoneNumberValidator($request->input('country')],
]);
因为我这样说:
$request->validate([
'country' => ['required', 'max:2'],
'number' => ['required', new PhoneNumberValidator($request->input('country'))],
]);
number
验证将运行,即使country
无效也是如此。因此,我想知道是否有一种方法可以在一次validate()
调用中进行所有验证,因此,在调用数字规则之前先对国家/地区值进行了验证(我尝试过bail
,但是这会停止对1属性的验证,而不是队列中的其余属性。
您可以create a custom rule同时验证两个输入。
您可能还想看看各种validation rules.,可能会发现有帮助。