2016-06-16 5 views
0

Was ist der richtige Weg für die Behandlung von Fehlern auf der Clientseite? DS.Model Klasse hat Methoden add und clear, die für mich gut funktionieren, aber beide sind als veraltet markiert. Was ist Ersatz für diese Methoden?Wie fügt man clientseitige Validierungsfehler in Ember Data hinzu?

+0

Um klar zu sein, es ist die DS.Errors Klasse, wo Sie die Veraltete finden. Die model.errors-Eigenschaft ist eine Instanz der Klasse. Ich frage mich dasselbe, wie ich das Model.errors-Objekt für clientseitige und serverseitige Validierungen verwende. Soll ich eine Validierungsbibliothek für die Client-Seite verwenden oder gibt es einen anderen Mechanismus in den Ember-Daten, der ausreichen würde? – GOULETGOULET

Antwort

0

Nicht sicher, dass über richtig, aber es gibt eine Bibliothek, die Sie einige Zeit sparen können. Wenn Sie sich dieses Projekt ansehen, werden Sie sehen, wie es mit Glutendaten verwendet wird.

https://github.com/esbanarango/ember-model-validator#user-content-usage-example

Kurz gesagt haben Sie importieren Validator von '../mixins/model-validator' mixin; , die Sie in Ihr Modell importieren und Validierungsregeln definieren.

Menschen aus Dockyard schrieb auch eine große auf für EmberObjects hinzufügen, die Sie

https://github.com/DockYard/ember-validations

Für mich hier überprüfen persönlich das ist zu viel. Ich ziehe es vor, Validierung auf der Serverseite zu tun - ich benutze ActiveModelSerializer und reagiere auf zum Beispiel 200 oder 201 wenn Erfolg und 422 oder 401, wenn die Entität oder Berechtigung nicht verarbeitet werden kann. Dieser Pfad verwendet das DS.Error-Objekt, das Sie hier überprüfen können ... http://emberjs.com/api/data/classes/DS.Errors.html. Die Probe einfach Code wäre

model.save().then ((data)=>, (error)=>... 

Dann in Ihrem Template-Code könnten Sie

folgende verwenden {{#each model.errors.MYFIELD as | Fehler |}}

Ich kann präziser liefern Beispiel, aber Ihre Frage ist generisch.

Hoffe, es hilft

+0

Ich mag, wie Glut Daten die serverseitige Validierungen behandelt. Es wäre schön, wenn Sie den gleichen Mechanismus für die Clientseite verwenden könnten, aber die Methoden zum Manipulieren des model.errors-Objekts sind veraltet. Ich denke, die Frage ist, wie kommt es? und ist ein Ersatz in Glutdaten vorgesehen oder nicht? – GOULETGOULET

+0

Sie haben sie fälschlicherweise als veraltet markiert: https://github.com/emberjs/data/pull/3853#issuecomment-226956166 Diese Methoden sind noch am Leben und gesund. – Sukima

Verwandte Themen