Zusammenfassung der Ruby on Rails-Validierung

Einführung

Ich werde Beispiele usw. hauptsächlich als Memorandum of Rails Tutorial zusammenfassen. Ich würde mich freuen, wenn Sie auf Fehler hinweisen könnten.

Was ist Validierung?

Ü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.

Grundlegendes Schreiben

Die grundlegende Eingabemethode lautet wie folgt.

model


validates :Spaltenname,Helfer

#Wenn Sie auf mehrere Spalten anwenden möchten
validates :Spaltenname, :Spaltenname, :Spaltenname,Helfer

Hauptvalidierungshelfer

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 }
Hauptoptionen
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

Allgemeine Optionen

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"}

Referenz

Active Record Validation-Rails-Handbuch v6 \ .0 https://railsguides.jp/active_record_validations.html

Recommended Posts

Zusammenfassung der Ruby on Rails-Validierung
Ruby on Rails Elementary
Ruby on Rails Grundlagen
Ruby On Rails Association
Validierungseinstellungen für die Ruby on Rails-Anmeldefunktion
Portfolioerstellung Ruby on Rails
Ruby on Rails Lernrekord -2020.10.04
[Ruby on Rails] Debuck (bindend.pry)
Ruby on Rails Lernrekord -2020.10.05
Ruby on Rails lernen Rekord-2020.10.07 ②
Ruby on Rails lernen Rekord-2020.10.07 ①
Brechen Sie die Ruby on Rails-Migration ab
Ruby on Rails Lernrekord -2020.10.06
Ruby on Rails Grundlegendes Memorandum
Ruby on Rails Zusammenfassung der Beispiele für Refactoring-Methoden rund um MVC
Erklärung von Ruby auf Schienen für Anfänger ⑥ ~ Erstellung der Validierung ~
[Ruby on Rails] Leseversuch (: [],: Schlüssel)
Installation von Ruby + Rails unter Ubuntu 18.04 (rbenv)
[Ruby on Rails] Paging-Funktion eingeführt
Grundkenntnisse in Ruby on Rails
Progate Ruby on Rails5 Rückblick
Verwendung von Ruby on Rails
Ruby on Rails Japanisch-Englisch kompatibler i18n
[Ruby on Rails] CSV-Ausgabefunktion
Ruby on Rails 6.0-Umgebungskonstruktionsnotiz
Ruby On Rails entwickelt Routing-Konflikte
[Ruby on Rails] Implementierung der Kommentarfunktion
[Ruby on Rails] DM, Chat-Funktion
[Ruby on Rails] Praktische Hilfsmethode
[Ruby on Rails] Stoppen Sie "Looping bis ..."
[Ruby on Rails] Einführung der Anfangsdaten
[Ruby on Rails] Suchfunktion (nicht ausgewählt)
[Rails] Hinzufügen der Ruby On Rails-Kommentarfunktion
[Ruby on Rails] Erstellen eines Anfrageformulars
Ruby on Rails6 Praktischer Leitfaden cp13 ~ cp15 [Memo]
[Ruby on Rails] Test mit RSpec anzeigen
[Ruby on Rails] Codeprüfung mit Rubocop-Airbnb
[Ruby on Rails] 1 Modell CRUD (Routing Main)
Ruby on Rails-Installationsmethode [Mac Edition]
Modell [Ruby on Rails], Befehl für Controller-Terminal
Rückenwind auf Schienen
Ruby on Rails6 Praktischer Leitfaden cp7 ~ cp9 [Memo]
Ruby on Rails in Visual Studio-Codespaces
[Schienen] Verwenden Sie die Validierung für einen bestimmten Controller
[Ruby on Rails] Folgen Sie der Funktionsimplementierung: Bidirektional
Hinweise zur Verwendung von FCM mit Ruby on Rails
[Ruby on Rails] Controller-Test mit RSpec
Bereitstellen für Heroku [Ruby on Rails] Anfänger
[Ruby on Rails] Bild-Diashow mit Skippr
Vorbereiten der Einführung von jQuery in Ruby on Rails