Jaki jest standardowy wzór sprawdzania poprawności danych ember? (nieprawidłowy stan, stał się Nieprawidłowy…)

Od pewnego czasu zmagam się z tym; zobaczmy, czy ktoś może mi pomóc.

Chociaż nie jest to wyraźnie powiedziane w pliku Readme, ember-data zapewnia nieco wsparcia sprawdzania poprawności. Możesz to zobaczyć w niektórych częściach kodu i dokumentacji:

https://github.com/emberjs/data/blob/master/packages/ember-data/lib/system/model/states.js#L411

https://github.com/emberjs/data/blob/master/packages/ember-data/lib/system/model/states.js#L529

Adapter REST nie dodaje do siebie obsługi walidacji, ale okazało się, że jeśli dodam coś takiego w wywołaniach ajax, mogę umieścić model w „nieprawidłowym” stanie z obiektem błędów, który pochodzi ze strony serwera:

error: function(xhr){
  var data = Ember.$.parseJSON(xhr.responseText);
  store.recordWasInvalid(record, data.errors);
}

Mogę więc łatwo:

var transaction = App.store.transaction();
var record = transaction.createRecord(App.Post);
record.set('someProperty', 'invalid value');
transaction.commit()
// This makes the validation fail

record.set('someProperty', 'a valid value');
transaction.commit();
// This doesn't trigger the commit again.

Rzecz jest taka: jak widzisz,transakcje nie próbują ponawiać. To jest wyjaśnionetutaj itutaj.

Rzecz w tym, że jeśli nie mogę ponownie użyć zatwierdzenia, jak mam sobie z tym poradzić? Podejrzewam, że ma coś wspólnego z faktem, że asynchronicznie wprowadzam model doinvalid stan - przezczytanie dokumentacjiwygląda na to, że chodzi o walidację po stronie klienta. W takim przypadku, jak mam z nich korzystać?

questionAnswers(5)

yourAnswerToTheQuestion