需要帮助更新我的验证规则中的唯一规则。我有一个抽象验证器,它将在存储到我的数据库和规则数组之前验证规则,我在创建或注册用户时将电子邮件设置为唯一,但是在更新用户时,enique 电子邮件不应该验证电子邮件是否由用户。
抽象类验证器
abstract class Validator {
protected $errors;
protected $attributes;
public function __construct($attributes = null)
{
$this->attributes = $attributes ?: \Input::all();
}
public function passes()
{
$validation = \Validator::make($this->attributes, $this->rules());
if ($validation->passes()) return true;
$this->errors = $validation->messages();
return false;
}
public function getErrors()
{
return $this->errors;
}
}
验证规则(UserRule.php)
use MyCustomValidatorNamespaceHere....
class UserRules extends Validator
public function rules()
{
return [
'email' => 'required|email|unique:users,email,id',
...
];
}
在我的 UserController 中,我在构造函数中注入了 UserRule。(用户规则 $userRule)。这是更新方法中的代码。
public function update($id)
{
$if ($this->userRule->passes())
{
$this->user->find($id)->update(Input::all());
return .........
}
}
但验证总是失败并显示电子邮件已被接收的错误。请帮助各位。