0

ユーザーが現在のパスワードを入力する必要があるパスワード変更フォームがあります。client_side_validations gem を使用して、リモート バリデーター/javascript を使用して現在のパスワードが正しいことを確認できますか? もしそうなら、どのように?

アプリ/ビュー/パスワード/new.html.haml

= simple_form_for @password_form, url: passwords_path, method: :post, validate: true do |f|
  = f.input :original_password
  = f.input :new_password
  = f.input :new_password_confirmation, required: true
  = f.submit 'Save'

app/forms/password_form.rb

  ...

  attr_accessor :original_password, :new_password
  validate :verify_original_password
  validates_presence_of :original_password, :new_password
  validates_confirmation_of :new_password
  validates :new_password, password: true

  def verify_original_password
    unless @user.authenticate(original_password)
      errors.add :original_password, "is not correct"
    end
  end

  ...
4

1 に答える 1