【发布时间】:2020-02-17 20:29:24
【问题描述】:
我有一个动态电话号码验证规则,我需要 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'))],
]);
即使country 无效,number 验证也会运行。所以我想知道是否有办法在一个 validate() 调用中进行所有验证,因此,在调用数字规则之前验证国家/地区值(我尝试使用 bail 但这会停止对 1 个属性的验证,而不是队列中的其余属性)。
【问题讨论】:
标签: laravel laravel-validation laravel-6