[RUBY] Ich möchte doppelte Fehlermeldungen beseitigen

Doppelte Fehlermeldung ①

Verwenden der Methode form_with Ich habe ein Formular erstellt, um einen numerischen Wert in form.number_field einzugeben. Wenn Sie die richtige Nummer eingeben, tritt kein Fehler auf. Wenn Sie versuchen, eine Nummer einzugeben, die die Validierung überschreitet, tritt zu diesem Zeitpunkt ein Fehler auf. Wenn Sie das Eingabeformular jedoch leer senden,


Bitte geben Sie ○○ ein ○○ ist ein ungültiger Wert ○○ ist nicht in der Liste


Und ich bekomme 3 Fehler. Senden Sie einfach den Himmel und Sie brauchen keine drei! !! !!

Lösungen

model


with_options presence: true do
    validates :grade, format: { with: /\A[0-9]+\z/, allow_blank: true}, inclusion: { in: 1..7, allow_blank: true }
    validates :class_number, format: { with: /\A[0-9]+\z/, allow_blank: true }, inclusion: { in: 1..10, allow_blank: true }
end

Format ist die Validierung regulärer Ausdrücke. Einbeziehung ist die Validierung des numerischen Bereichs.

allow_blank: true ist eine Methode, die keine Validierung durchführt, wenn der Wert leer ist. Es ist redundant, aber wenn es leer ist, reagiert die Format- und Einschlussüberprüfung nicht.

Schauen Sie sich die Fehlermeldung noch einmal an. "○○ ist ein ungültiger Wert" reagiert auf das Format Es ist ersichtlich, dass "○○ nicht in der Liste enthalten ist" auf die Aufnahme reagiert.

Doppelte Fehlermeldung ②

Wenn Sie "Anwesenheit: wahr" überprüfen, während Sie einen externen Schlüssel verwenden, werden zwei Fehlermeldungen mit ähnlichem Inhalt angezeigt.

Lösungen

Löschen Sie die Validierung des im Modell beschriebenen externen Schlüssels.

[Nebenbei] Ich möchte die Reihenfolge der Fehlermeldungen ändern

Die Reihenfolge kann durch Ändern der Beschreibungsposition für Validierung und Zuordnung aufgelöst werden. Ich bin dankbar, dass kein besonderes Problem auftritt, da ich nur die Position der Beschreibung ändere. Dies liegt wahrscheinlich daran, dass der Code von oben gelesen wird. Es ist ein bisschen, aber ich möchte eine Fehlermeldung in der Reihenfolge des Eingabeformulars senden.

Recommended Posts

Ich möchte doppelte Fehlermeldungen beseitigen
Ich möchte Zeichen konvertieren ...
Ich möchte die Standardfehlermeldung von Spring Boot steuern
Ich möchte eine Webanwendung entwickeln!
Ich möchte ein schönes build.gradle schreiben
Ich möchte eine ios.android App machen
Ich möchte DBViewer mit Eclipse 2018-12 verwenden! !!
Ich möchte einen Unit Test schreiben!
[Rails] So zeigen Sie Fehlermeldungen einzeln an
Ich möchte PHP 7.2 unter Ubuntu 20.04 installieren.
Ich möchte Java-Updates insgesamt stoppen
Ich möchte @Autowired in Servlet verwenden
Ich möchte statische Felder auf @Autowired ausrichten
Ich möchte die Teamentwicklung aus der Ferne durchführen
So zeigen Sie Fehlermeldungen auf Japanisch an
Ich möchte bei der Registrierung in der Datenbank eine Fehlermeldung anzeigen
Ich möchte nach Tabulatortrennzeichen mit Rubin sortieren
R von Java ausführen Ich möchte rJava ausführen
Der Weg zur Japanisierung von Rails führt zu Fehlermeldungen
[Swift] Ich möchte Gitterlinien (Quadrate) zeichnen.
Ich möchte eine E-Mail in Java senden.
Ich möchte von npm richtig abschließen [2020]
[Ruby] Ich möchte einen Methodensprung machen!
Ich möchte Java8 für jeden mit Index verwenden
Ich möchte den Inhalt der Absicht var_dump
Ich möchte APP_HOME an Logback in Gradle übergeben
Ich möchte eine einfache Wiederholung einer Zeichenkette schreiben
Ich möchte eine Struktur für die Ausnahmebehandlung entwerfen
rsync4j - Ich möchte rsync in Java berühren.
Ich möchte mit Firestore von Rails spielen
Ich möchte irgendwann sogar in Kotlin sein
Ich möchte schnell von Java nach SQLite schreiben
Ich möchte nach dem Dezimalpunkt abschneiden
[Rails] So geben Sie Erfolgs- und Fehlermeldungen aus
Ich möchte einfache Fehler reduzieren. Sich selbst befehlen.
Ich möchte die Aggregationsverarbeitung mit Spring-Batch durchführen
[Rails] Ich möchte CSS mit Webpacker laden
Ich möchte eine von Git verwaltete Datei löschen
Ich möchte den Wert in Ruby erhalten
Ich möchte das in der Datenbank gespeicherte Protokoll morphologisch analysieren und in der Datenbank speichern, um Nachrichten 1 zu klassifizieren
Ich möchte Combine auch in UIKit verwenden.
Ich möchte die praktischen Funktionen von Clojure in Kotlin nutzen
Ich möchte eine Methode einer anderen Klasse aufrufen
Ich möchte so etwas wie "cls" in Java machen
Ich möchte NetBeans auf einem Mac verwenden → Ich kann es verwenden!
Ich möchte eine TraceId in das Protokoll einbetten
Pointcut-Ausdruck Ich möchte mehr als einen angeben
Ich möchte auch in Laradock Fischschalen verwenden! !!
Ich möchte ES2015 auch in Java verwenden! → (´ ・ ω ・ `)