Ember:如何保持模型错误?

时间:2015-03-12 05:13:38

标签: ember.js

我正致力于添加用户表单。有三个必填字段(名字,姓氏和电子邮件)。我有服务器端验证。

例如,我有以下回复和以下视图:

{"errors":{
    "lastName":["NullableFieldValue"],
    "email":["UnexpectedFieldValue"]
    }
}

简化模板:

{{#each error in errors.messages}}
    {{error}}<br/>
{{/each}}
<span>Name</span>   
{{input classBinding="errors.firstName:has-error :form-control" placeholder="First" value=firstName}}
{{input classBinding="errors.lastName:has-error :form-control" placeholder="Last" value=lastName}}
<span>Email</span>  
{{input classBinding="errors.email:has-error :form-control" placeholder="Input Email Address" value=email}}

问题在于:如果我更改带有错误的字段(甚至是焦点和非聚焦字段),错误将消失。如何在下次提交之前将错误保留在字段中?

1 个答案:

答案 0 :(得分:0)

我认为如果你要这样做,你需要覆盖DS.Errors,或者当从服务器收到错误时,创建你自己的错误对象并将其附加到记录中。 DS.Errors会观察模型上的所有属性,如果发生更改,则会清除相应的错误。这是预期的行为,因为大多数验证实现都假定如果值发生更改,则要纠正错误。

另一个注意事项 - errors哈希通常意味着存在人为错误,而不是服务器错误或错误代码,因此可能会对您的实施产生一些影响。