我正试图在Laravel中编写一条规则,以验证地址是否可交付。
现在,我使用的API存储地址检查的结果,并返回地址对象和ID。如果表单通过验证,我想存储地址ID,而无需再次验证。
如果要在规则内进行地址检查,我该如何存储验证器函数中的该对象以便通过create函数进行访问?
此外,如何将多个字段传递给同一规则?我需要此规则来同时验证地址的所有字段,而不仅仅是一个。
protected function validator(array $data)
{
return Validator::make($data, [
'name' => ['required', 'string', 'max:255'],
'email' => ['required', 'string', 'email', 'max:255', 'unique:users'],
'password' => ['required', 'string', 'min:6', 'confirmed'],
// For example
'street1,street2,city,state,zip' => new Deliverable(),
]);
}
protected function create(Request $request)
{
return User::create([
'name' => $data['name'],
'email' => $customer['email'],
'password' => Hash::make($data['password']),
// Get the some state from the Deliverable I made earlier.
]);
}
很显然,我无法将可交付成果保存在控制器中,因为每个请求将具有不同的地址。