ember-data.js: https://github.com/emberjs/data/tree/0396411e39df96c8506de3182c81414c1d0eb981
Короче говоря, когда есть ошибка, я хочу отображать сообщения об ошибках в представлении, а затем пользователь может: 1) отменить, откат транзакции 2) исправить ошибки ввода и успешно совершить транзакцию, передав проверки на сервере.
Ниже приведен фрагмент кода из источника. Он не включает обратный вызов ошибки.
updateRecord: function(store, type, record) {
var id = get(record, 'id');
var root = this.rootForType(type);
var data = {};
data[root] = this.toJSON(record);
this.ajax(this.buildURL(root, id), "PUT", {
data: data,
context: this,
success: function(json) {
this.didUpdateRecord(store, type, record, json);
}
});
},
В целом, каков поток получения ошибки с сервера и обновления представления? Кажется, что обратный вызов ошибки должен помещать модель в состояние isError
, а затем представление может отображать соответствующие сообщения. Кроме того, транзакция должна оставаться грязной. Таким образом, транзакция может использовать rollback
.
Кажется, что использование store.recordWasInvalid
идет в правильном направлении.