0

我有这个验证请求:

public function rules()
{
    return [
        'user_id' =>  ['required', 'exists:users,id'],
        'address_type' =>  ['required', 'in:main_address,new_address'],
        'governorate_id' =>  ['required', 'exists:governorates,id'],
        'area_id' =>  ['required', 'exists:areas,id'],
        'phone' => ['required', 'string', 'max:15'],
        'nearly_area' => ['required', 'string', 'max:200'],
    ];
}

如何检查用户是否选择address_type (main_address one)忽略其余字段以及是否new_address需要其余字段?

4

1 回答 1

0

像这样使用required_if

public function rules()
{
    return [
        'user_id' =>  ['required', 'exists:users,id'],
        'address_type' =>  ['required', 'in:main_address,new_address'],
        'governorate_id' =>  ['required_if:address_type,==,new_address', 'exists:governorates,id'],
        'area_id' =>  ['required_if:address_type,==,new_address', 'exists:areas,id'],
        'phone' => ['required_if:address_type,==,new_address', 'string', 'max:15'],
        'nearly_area' => ['required_if:address_type,==,new_address', 'string', 'max:200'],
    ];
}
于 2020-08-28T12:53:23.423 回答