Ich bin neu bei symfony. Ich habe mich entschieden, mein Rad mit Symfony Version 2 zu bewegen.
In meinem Benutzerformular:
Dieses Zeug brauchte eine Weile, um auch aufzufinden, also hier ist, was ich herausgefunden habe. Um ehrlich zu sein bin ich mir der getRoles () - Methode der User-Entity nicht wirklich sicher, aber das ist nur eine Testkonfiguration für mich. Solche Kontextelemente dienen ausschließlich der Übersichtlichkeit.
Hier sind einige hilfreiche Links zum Weiterlesen:
Ich habe das alles eingerichtet, um sicherzustellen, dass es auch als ein UserProvider für die Sicherheit funktioniert, da ich dachte, dass Sie das wahrscheinlich tun würden. Ich nahm auch an, dass Sie die E-Mail als Benutzername verwendeten, aber Sie müssen nicht. Sie könnten ein separates Feld für den Benutzernamen erstellen und diesen verwenden. Weitere Informationen finden Sie unter Sicherheit .
Die Entity (nur die wichtigen Teile; automatisch generierbare Getters / Setter werden weggelassen):
%Vor%Die Klasse Form:
%Vor%Der Controller:
%Vor%Relevanter Abschnitt von security.yml:
%Vor%Sehen Sie sich Ссылка an, es gibt ein UserBundle mit dieser Funktionalität. Sie können auch Ссылка überprüfen, wo es einen Blogbeitrag zum Hinzufügen eines benutzerdefinierten Feldes, einer Einschränkung und eines Validators für Recaptcha gibt.
Thoose Ressourcen sollten Sie auf dem richtigen Weg beginnen, wenn Sie immer noch in Schwierigkeiten geraten Menschen sind im Allgemeinen hilfreich und freundlich auf IRC in # symfony-dev auf dem Freenode-Netzwerk. Auf Freenoce gibt es auch einen allgemeinen Kanal #symfony, wo du Fragen stellen kannst, wie man Zeug benutzt, wo # symfony-dev für die Entwicklung von Symfony2 Core ist.
Hoffentlich hilft Ihnen das, mit Ihrem Projekt voranzukommen.
Ich denke, die Hauptsache, auf die Sie bei der Erstellung Ihres benutzerdefinierten Validators achten müssen, ist die in der getTargets () -Methode angegebene Konstante.
Wenn Sie
ändern %Vor%zu:
%Vor%Sie sollten in der Lage sein, auf alle Eigenschaften der Entität und nicht nur auf eine einzige Eigenschaft zuzugreifen.
Hinweis: Wenn Sie Annotationen zum Definieren Ihrer Integritätsbedingungen verwenden, müssen Sie nun die Annotation, die Ihren Validator definiert, an den Anfang der Klasse verschieben, da sie jetzt für die gesamte Entität und nicht nur für die einzelne Eigenschaft gilt.
Sie sollten alles, was Sie brauchen, aus den Dokumenten beziehen können. Insbesondere die Einschränkungen , die Informationen zur E-Mail-Überprüfung enthalten. Es gibt auch Dokumentation zum Schreiben von benutzerdefinierten Validatoren .
eindeutige E-Mail aus der Datenbank
validation.yml
Dashboard \ ArticleBundle \ Entity \ Artikel: Einschränkungen: # - Symfony \ Bridge \ Doctrine \ Validator \ Constraints \ UniqueEntity: senderEmail - Symfony \ Bridge \ Doctrine \ Validator \ Constraints \ UniqueEntity: {fields: senderEmail, Nachricht: Diese Email existiert bereits}
Passwort mit Passwort bestätigen
%Vor%Tags und Links symfony