2017-12-21 17 views
0

Wir betrachten die Verwendung der Reform-Edelstein zur Validierung der Eingabe.Wegbereiter Reform Edelstein, wie diese Art der Eingabe Validierung zu behandeln?

Eines der Probleme ist, dass wir konfrontiert sind, dass wir Eingang in diesem Format annehmen:

params = { 
    records: { 
    "record-id-23423424": { 
     name:  'Joe Smith' 
    } 
    "record-id-43234233": { 
     name:  'Jane Doe' 
    } 
    "record-id-345234555": { 
     name:  'Fox trot' 
    } 
    "record-id-34234234": { 
     name:  'Alex' 
    } 
    } 
} 

also, wenn wir die Reform Klasse

class RecordForm < Reform::Form 
    property :records 
    validates :records, presence: true 

    # ????????? 
end 

erstellen waren Wie validieren wir den Inhalt der Aufzeichnungen, um sicherzustellen, dass jeder einen Namen hat? Die Record-ID-Werte sind nicht vorher bekannt.

+1

Sind Sie mit dem vorliegenden Schema festgefahren? Es wäre einfacher, die Validierung zu erstellen, wenn das Schema etwa wie folgt aussehen würde: {{records: [{id: "record-id-23423424", Name: 'Joe Smith'}, ...]} ' –

Antwort

0

Die Reform erlaubt derzeit keine dynamischen Eigenschaften und ist eigentlich nicht geplant, da es sich bei Reform um ein UI-spezifisches Formularobjekt handeln soll.

Die Lösung wäre, Ihre Eingabe in etwas vorzuspalten what Laura suggests. Sie könnten dann geschachtelte Eigenschaften für jedes Feld haben.

collection :records do 
    property :id # manually parsed 
    property :name 
end 
Verwandte Themen