вы можете помочь мне с этим? Я прочитал документ, но правило все еще не работает. Я сделал это неправильно? Я все еще искал несколько примеров, но ничего не случилось. Я хочу проверить пароль пользователя и repeat_password, если они совпадают.нестандартное правило проверка не работает-Yii2
это мой код в модели. , что два объявлены как требуемые тоже по этому сценарию.
[['password','password_repeat'], 'checkPassword', 'on'=>'create'],
сценарий объявлен в действииСоздать тоже.
public function checkPassword($attributes, $params)
{
if(!$this->password_repeat === $this->password)
{
$this->addError($attribute, 'Passwords do not match!');
}
}
я попробовать использовать compare
проверку на что два поля, но это не удовлетворит меня. Если вы сравниваете только одно поле, оно не будет проверять другое поле. если вы подтвердите их оба, существует вероятность того, что они сравнивают друг друга, когда вы удаляете то, что вы ввели на одном из двух полей. Поэтому я хочу создать тот, который даже вы удаляете то, что вы ввели в эти два поля, кто идет первым или нет, они будут проверены. Извините за беспокойство. Надеюсь, вы все равно получите то, что я хочу. Благодарю.
PS, я не хочу использовать виджет для проверки пароля (?). Спасибо.
Подсказка: в коде у вас есть параметр '$ attributes', который должен быть' $ attribute'. – robsch
@robsch все еще ничего, tho. он не вызвал валидацию – BlackSkull
Неправильное состояние! это должно быть '$ this-> password_repeat! == $ this-> password' – soju