Какой стандартный шаблон для проверки данных ember? (недействительное состояние стало недействительным…)
Я с этим некоторое время боролся с этим; Посмотрим, сможет ли кто-нибудь мне помочь.
Хотя это явно не указано в файле Readme, ember-data обеспечивает некоторую поддержку валидации. Вы можете видеть это в некоторых частях кода и документации:
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
Адаптер REST не добавляет поддержки валидации сам по себе, но я обнаружил, что если я добавлю что-то подобное в вызовах ajax, я могу поставить модель на «неверный». состояние с объектом ошибок, которые пришли со стороны сервера:
error: function(xhr){
var data = Ember.$.parseJSON(xhr.responseText);
store.recordWasInvalid(record, data.errors);
}
Так что я могу легко следующее:
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.
Дело в том, что, как вы видите,transactions don't try to recommit, Это объясняетсяВот а такжеВот.
Итак, дело в том, что если я не могу повторно использовать коммит, как мне справиться с этим? Я подозреваю, что это как-то связано с тем, что я асинхронно помещаю модель вinvalid
состояние - почтение документацииПохоже, что-то предназначено для проверки на стороне клиента. В таком случае, как мне их использовать?