我创建了一个更新功能,我的控制器有5列,即ID,用户名,描述和用户类型。由于我希望记录中的所有用户名都是唯一的,因此unique:dbo_systemusers,SystemUserName
在规则中添加了。我的问题是,当我更新某个记录时,例如说用户名:benny,描述:developer,用户类型:admin,那么我想向程序员更新描述,将出现一个错误,提示用户名已经存在。有没有一条规则,它只会检查表中其他记录上的用户名的唯一性,而不是当前所在的那个im?这是我当前的规则代码
$rules = array(
'username' => 'required|min:2|max:50|regex:/^[a-zA-Z0-9\-\s]+$/|unique:dbo_systemusers,ID,'.$id,
'description' => 'required|min:1|max:100|regex:/^[a-zA-Z0-9\-\s]+$/',
'usertype' => 'required|numeric',
'capt' => 'required|numeric'
);
如果要更新特定用户,则必须强制使用唯一规则来忽略给定的ID。
尝试这个:
$rules = array(
'username' => 'required|min:2|max:50|regex:/^[a-zA-Z0-9\-\s]+$/|unique:dbo_systemusers,ID,'.$id, //you want user $id here to ignore the unique rule
'description' => 'required|min:1|max:100|regex:/^[a-zA-Z0-9\-\s]+$/',
'usertype' => 'required|numeric',
'capt' => 'required|numeric'
);
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句