Я использую Laravel 4.2 и хочу подтвердить пароль пользователя перед отправкой формы с чем-то вроде модального, без фактической отправки. Если пароль совпадает, сделайте отправку; если нет, сохранить на той же странице без перезагрузки, это возможно?
Как я могу это сделать?
Добавьте это в вашу модель:
public function afterValidate() {
if (count($this->errors()->toArray())==0 && !empty($this->password) && $this->password!=$this->getOriginal('password')) {
$this->password = Hash::make($this->password); // encrypting the password
unset($this->password_confirmation); // dropping password confirmation field
}
}
Это в твоих правилах:
'password' => 'Required|alpha_num|between:6,12|confirmed',
'password_confirmation' => 'Required|alpha_num|between:6,12|same:password',
Видите, если это поможет.
Получите идентификатор кнопки отправки, переопределите onclick () своим собственным кодом, вызовите ваш модал, который подтверждает пароль, и верните false, чтобы форма фактически не была отправлена. Когда пользователь нажимает OK на вашем модале, если пароль совпадает, тогда отправьте форму из JS.