处理客户端验证错误的正确方法是什么? DS.Model
类的方法add
和clear
对我来说很好,但两者都被标记为已弃用。什么是这些方法的替代品?
答案 0 :(得分:0)
不确定是否正确,但有一个库可以为您节省一些时间。如果你看一下这个项目,你会看到它如何与ember数据一起使用。
https://github.com/esbanarango/ember-model-validator#user-content-usage-example
简而言之,你有来自'../mixins/model-validator'的mixin import Validator; 您导入到模型并定义验证规则。
来自DockYard的人们也为EmberObjects写了一个很棒的补充,你可以在这里查看
https://github.com/DockYard/ember-validations
对我个人而言,这太过分了。我更喜欢在服务器端进行验证 - 我使用ActiveModelSerializer并在成功时响应例如200或201,在无法处理实体或权限被拒绝时响应422或401。此路径将使用DS.Error对象,您可以在此处查看... http://emberjs.com/api/data/classes/DS.Errors.html。简单的示例代码是
model.save().then ( (data)=>, (error)=>...
然后在您的模板代码中,您可以使用以下
{{#each model.errors.MYFIELD as | error |}}
我可以提供更具体的示例,但您的问题是通用的。
希望有所帮助