Thinkphp5编辑和添加时用的Validate验证规则都是相同的,导致编辑时不能排除自己是否存在

由于默认编辑和添加时的验证规则都是相同的,,导致编辑时不能排除自己是否存在,我们可以采用以下的方式来处理。

在该验证类中 UserModel 中添加一个构造函数

public function __construct(array $rules = [], array $message = [], array $field = [])
{
    $id = request()->param("id");
    if ($id) {
        $rules['username'] = 'require|max:50|unique:list_user,username,' . $id . ',id';
    }
    parent::__construct($rules, $message, $field);
}

即可。

你可能感兴趣的:(thinkphp5)