Ich werde Beispiele usw. hauptsächlich als Memorandum of Rails Tutorial zusammenfassen. Ich würde mich freuen, wenn Sie auf Fehler hinweisen könnten.
Überprüfen des Status eines Objekts vor dem Speichern in der Datenbank. Stellen Sie sicher, dass der eingegebene Wert nicht ungültig ist. Sie können beispielsweise verhindern, dass leere Daten gespeichert werden, oder Sie können die Anzahl der Zeichen erhöhen.
Die grundlegende Eingabemethode lautet wie folgt.
model
validates :Spaltenname,Helfer
#Wenn Sie auf mehrere Spalten anwenden möchten
validates :Spaltenname, :Spaltenname, :Spaltenname,Helfer
presence Stellen Sie sicher, dass das angegebene Attribut nicht leer ist.
model
Überprüft den Spaltennamen, presence: true
model
validates :name, presence: true
#Wenn Sie auf mehrere Spalten anwenden möchten
validates :name, :login, :email, presence: true
length Überprüfen Sie die Länge des Attributwerts. Es gibt viele Optionen und Sie können verschiedene Längenbeschränkungen angeben.
model
Überprüft den Spaltennamen, length: {Grenzen}
model
validates :passward, length: { minimum: 5 } #5 Zeichen oder mehr
validates :name, length: { maximum: 50 } #20 Zeichen oder weniger
validates :passward, length: { in: 3..10 } #3 bis 10 Zeichen
validates :registration_number, length: { is: 6 } #Nur 6 Zeichen erlaubt
uniqueness Stellen Sie sicher, dass die Attributwerte eindeutig und eindeutig sind.
model
validates :Spaltenname, uniqueness: true
model
validates :name, uniqueness: true
acceptance Überprüfen Sie, ob das Kontrollkästchen beim Senden des Formulars aktiviert ist. Es wird verwendet, wenn "Ich akzeptiere die Nutzungsbedingungen" aktiviert werden muss.
model
validates :Spaltenname, acceptance: true
model
validates :terms_of_service, acceptance: true
confirmation Überprüfen Sie, ob die in mehreren Formularen eingegebenen Werte genau übereinstimmen. Es wird verwendet, um die Werte der E-Mail-Adresse und der Bestätigungs-E-Mail-Adresse abzugleichen.
model
validates :Spaltenname, confirmation: true
model
validates :email, confirmation: true
numericality Stellen Sie sicher, dass nur Zahlen für die Attribute verwendet werden.
model
Überprüft den Spaltennamen, numericality: true
model
validates :points, numericality: true
model
#Nur ganze Zahlen erlaubt
validates :age, numericality: { only_integer: true }
Möglichkeit | Überblick |
---|---|
:only_integer | Muss eine ganze Zahl sein |
:equal_to | Muss dem angegebenen Wert entsprechen |
format Dies wird überprüft, indem getestet wird, ob der durch die Option with angegebene reguläre Ausdruck mit dem Attributwert übereinstimmt.
model
validates :Spaltenname, format: { with:Grenzen}
model
#Es sind nur alphanumerische Zeichen zulässig
validates :password, format: { with: /\A[a-zA-Z]+\z/ }
#Erlaube nur gültige E-Mail-Adressen
VALID_EMAIL_REGEX = /\A[\w+\-.]+@[a-z\d\-]+(\.[a-z\d\-]+)*\.[a-z]+\z/i
validates :email, format: { with: VALID_EMAIL_REGEX }
Die obigen regulären Ausdrücke, um nur gültige E-Mail-Adressen zuzulassen, basieren auf der folgenden Tabelle.
Reguläre Ausdrücke | Überblick |
---|---|
z\d-.]+.[a-z]+\z/i | Voller regulärer Ausdruck |
/ | Zeigt den Beginn eines regulären Ausdrucks an |
\A | Der Anfang der Zeichenfolge |
[\w+-.]+ | Alphabet, Unterstrich (_),Plus(+),Bindestrich(-),Punkt(.) Mindestens ein Zeichen oder mehr |
@ | Atmark |
[a-z\d-.]+ | Wiederholen Sie mindestens einen Buchstaben mit niedrigeren Buchstaben, Zahlen, Bindestrichen oder Punkten |
. | Punkt |
[a-z]+ | Wiederholen Sie mindestens einen Kleinbuchstaben |
\z | Ende der Zeichenfolge |
/ | Zeigt das Ende eines regulären Ausdrucks an |
i | Falloption ignorieren |
1 | 2 |
---|---|
:message | Sie können die Fehlermeldung angeben, die angezeigt wird, wenn die Validierung fehlschlägt. Wenn nicht angegeben, wird die Standardmeldung angezeigt. |
:allow_nill | Wenn der Zielwert Null ist, wird die Validierung übersprungen. |
:allow_blank | Der Attributwert ist leer?Die Validierung besteht, wenn: (Null, Leerzeichen usw.). |
model
#Beim direkten Schreiben einer Nachricht
Überprüft den Spaltennamen, presence: { message:"Benutzerdefinierte Fehlermeldung"}
model
validates :name, presence: { message:"Benötigte Felder"}
Active Record Validation-Rails-Handbuch v6 \ .0 https://railsguides.jp/active_record_validations.html
Recommended Posts