为了显示来自服务器的错误消息,使用以下代码:
var onFail = function(result) {
Ember.Logger.debug("ERROR CustomersCreateController");
var json = result.responseJSON;
Ember.Logger.debug(json['errors']);
self.set("errors", json['errors']);
};
model.save().then(onSuccess, onFail);
但是当我从服务器得到这个回复时:
{"errors":[{"email":"O campo [email] precisa ser informado"}]};
当我尝试设置(“错误”)时会出现错误...任何难题? 顺便说一下,我从服务器发送了422错误。
EDIT(1) 我看到这个跳过默认错误功能的post,这是唯一的希望吗? :)
EDIT(2) 调整EDIT(1)的解决方案来使用它,但是Ember应该有更简单的东西!!!
var onFail = function(result) {
Ember.Logger.debug("ERROR CustomersCreateController");
var json = result.responseJSON;
self.set( "requestMessages", {});
result.responseJSON["errors"].forEach(function(error_obj) {
Ember.Logger.debug(error_obj.field + '='+ error_obj.message );
self.set('requestMessages.' +error_obj.field, error_obj.message);
});
};
在模板
<div {{bind-attr class=":form-group requestMessages.name:has-error"}} >
<label for="name" class="col-sm-2 control-label">Nome</label>
<div class="col-sm-10">
{{input type="text" class="form-control" value=name}} {{#if
requestMessages.name}} <span class="help-block">{{requestMessages.name}}</span>
{{/if}}
</div>
</div>
答案 0 :(得分:0)
我认为响应格式应为:
{"errors":{"email":["O campo [email] precisa ser informado"]}}