Подскажи нужно редактировать иммеющиеся даные, но фильтровать, что бы были уникальные данные или те что есть очтовались. Подскажите более эллегантный вариант.
public function rules() {
return [
// username and password are both required
[['login', 'email'], 'required', 'message' => 'Необходимо заполнить поле.'],
['email', 'email'],
['login', 'match', 'pattern' => '/^[a-z]\w*$/i', 'message' => 'Только латинский шрифт, цифры и подчеркивыние.'],
[['password', 'confirmPassword'], 'validationPassword'],
[['id', 'login', 'email'], 'validationLoginEmail'],
];
}
public function validationLoginEmail($attribute, $params) {
(int) $this->id;
$patern_user = User::findByLogin($this->login);
if ($patern_user != null and $this->id != $patern_user->id ) {
$this->addError('login', 'Такой логин уже существует.');
}
$patern_user = User::findByEmail($this->email);
if ( $patern_user != null and $this->id != $patern_user->id) {
$this->addError('email', 'Такой e-mail уже существует.');
}
}