我使用uniquewith-validator包,我设法不允许这三种组合:name,last_name和telephone。问题是我想输入相同的名称和last_name但没有电话。当电话为空或无效时,它表示它是重复的,但如果我更换电话,则允许它应该。我需要允许,但在此代码中它不会:
'name' => 'required|unique_with:add_members, last_name, telephone'
当我使一列唯一时,我使用可空函数但在这里它不起作用......
当我使一列唯一时,我使用nullable,这是有效的:
's_number' => 'nullable|unique:add_members'
如何让电话可以为空并且不算重复?
这是我在AddMemberRequest.php中的完整代码
public function rules()
{
return [
'name' => 'required|nullable|unique_with:add_members, last_name, telephone',
'last_name' => 'required',
's_number' => 'nullable|unique:add_members',
'street' => 'nullable|unique_with:add_members, name, last_name, number',
];
}
答案 0 :(得分:0)
当我更改属性时,我成功了。当我设置为需要时,我已经使用了name属性,而不是将name和last_name组合成电话属性,并且可以为空。像这样:
'telephone_1' => 'nullable|unique_with:add_members, name, last_name',
完整规则功能现在是:
public function rules()
{
return [
'name' => 'required',
'last_name' => 'required',
's_number' => 'nullable|unique:add_members',
'telephone_1' => 'nullable|unique_with:add_members, name, last_name',
'street' => 'nullable|unique_with:add_members, name, last_name, number',
];
}
我希望有人能为这个解决方案提供帮助。