2012-03-29 1 views
1

Ich versuche ein Verhalten zu "optimieren", das ich mit Ruby on Rails-Validator sehe. In unserer Anwendung fordern wir vor dem Ändern eines Passworts eine Passwortbestätigung an.Nicht anzeigen "Neues Passwort stimmt nicht mit der Bestätigung überein", bevor der Benutzer Eingaben in Rails eingibt

, das sehr einfach mit der Ruby-Validierer, nur die Validierung auf dem

class ChangePassword < BaseModel 
    validates_confirmation_of :password 

Modell hinzu, dass JavaScript automatisch auf der Client-Seite zu überprüfen aktiviert, aber das Problem ist, dass, wenn der Benutzer die eintritt Passwort und bevor das Bestätigungs-Passwort eingegeben wird, startet es das "Neues Passwort stimmt nicht mit der Bestätigung überein".

Ich muss dieses Verhalten ändern, damit es auf der JavaScript-Seite nicht zeigt, wenn das Bestätigungskennwort leer ist, aber diesen Fehler immer wieder erhöht, wenn der Benutzer die Schaltfläche "Formular senden" betätigt.

Ist dies in Rails möglich?

Danke

Antwort

1

Sie, dass durch bedingte Validierung Technik tun.

class ChangePassword < BaseModel 
    validates_confirmation_of :password, :if => :password_present? 

    private 
    def password_present? 
    password.present? 
    end 
end 
+0

Cool! Es funktionierte. Ich habe gerade Ihre Antwort bearbeitet, da sie einige Syntaxfehler aufweist – Khelben

Verwandte Themen