Deaktivieren Sie die Passwortbestätigung während der Registrierung, wenn Sie das Gerät verwenden
Bin ich mit dem Entwickeln für die Schienen. In der Standard-Registrierung Prozess, Entwickeln, erfordert, dass Benutzer geben Sie das Kennwort zweimal ein, für die Validierung und Authentifizierung. Wie kann ich es deaktivieren?
Danke an alle. 🙂
InformationsquelleAutor der Frage Victor Lam | 2010-05-08
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich bin ein wenig spät zu dieser party, aber nachdem ich gerade schon meinen Kopf kratzen über das gleiche problem für die Letzte Stunde oder so, ich dachte, ich würde teilen die einfachste Lösung, die ich gefunden habe: Sie können einfach entfernen Sie die
password_confirmation
Feld auf dem Anmeldeformular, deaktiviert die müssen das Kennwort bestätigen, ganz!Liegt der Grund HIERFÜR liegt in
lib/devise/models/validatable.rb
im Entwickeln Quelle:Beachten Sie, dass die Validierung wird nur ausgelöst, wenn
password_required?
zurücktrue
undpassword_required?
zurückfalse
wenn diepassword_confirmation
Feld istnil
.Da, wo die
password_confirmation
Feld im Formular vorhanden ist, wird es immer sein, die in das Parameter-hash , da ein leerer string, wenn es leer gelassen wird, wird die Validierung angestoßen. Jedoch, wenn Sie entfernen die Eingabe aus dem Formular, diepassword_confirmation
in die params werdennil
und daher die Validierung wird nicht ausgelöst.Hoffe, dies ist nützlich!
Dank,
Tim
InformationsquelleAutor der Antwort mistertim
Es scheint, wenn Sie nur entfernen Sie die attr_accessible Anforderung aus dem Modell, es funktioniert genauso gut ohne.
Auf einer seitlichen Anmerkung, ich Stimmen mit dieser Praxis, in der seltene Fall, es war ein Tippfehler, kann der Benutzer verwenden Sie einfach die Passwort-Wiederherstellung zu erholen Ihr Passwort.
InformationsquelleAutor der Antwort Jeff Dickey
Ich bin nicht vertraut mit Entwickeln aber wenn Sie Zugriff auf das Modell in der Steuerung vor speichern/Validierung konnte Sie etwas wie die folgende
InformationsquelleAutor der Antwort Will
Gründen der Schienen 4 Benutzer finden diese Frage einfach löschen
:password_confirmation
von der zulässigen Parameter, die Sie erklären inApplicationController.rb
.InformationsquelleAutor der Antwort Jimeux
Einfachste Lösung:
Entfernen :validierbare von
😉
InformationsquelleAutor der Antwort Nesha Zoric
Siehe wiki
https://github.com/plataformatec/devise/wiki/How-To:-Allow-users-to-edit-their-account-without-providing-a-password
InformationsquelleAutor der Antwort Peter Ehrlich
Müssen Sie nur entfernen Sie die password_confirmation Feld aus dem Formular.
InformationsquelleAutor der Antwort Robin Garg
Entwickeln, die Standard-Validierungen (lib/entwerfen/Modelle/validierbare.rb):
und Methode:
Müssen wir überschreiben Entwickeln Standard-Passwort Validierung.
Fügen Sie den folgenden code am Ende, damit es nicht überschrieben wird durch jede Entwickeln, die eigenen Einstellungen.
Und dein Modell würde wie folgt Aussehen:
Dann entfernen Sie die password_confirmation Feld auf dem Anmeldeformular.
InformationsquelleAutor der Antwort Александр Андреев
Ich denke, das ist die einfache Möglichkeit zum deaktivieren der Passwort-Bestätigung:
https://github.com/plataformatec/devise/wiki/Disable-password-confirmation-during-registration
InformationsquelleAutor der Antwort Tomoka Miyazawa