flo*_*ain 1 validation ember.js
我想向用户显示验证错误的计数.
它是在提交按钮旁边实现"你有X个错误"的消息.
有没有办法做到这一点 ?
编辑:
我在控制器的上下文中使用ember-validations 2.0.0-alpha.1
和ember 1.8.0
(没有ember数据).
如果我尝试Sam的解决方案:
this.get('errors.length') // result is [], an empty array
Run Code Online (Sandbox Code Playgroud)
所述errors
键保持物体,而不是阵列.此对象的每个键引用模型上的属性并指向一组错误消息,因此您可以执行类似的操作this.get('errors.firstName.length')
.
要查找错误总数,您必须查看每个模型的属性并总结每个错误的错误数.
http://emberjs.jsbin.com/luzesiyeqi/1/
编辑:
由于以下代码.length
,errors
对象的属性返回一个空数组:https://github.com/dockyard/ember-validations/blob/master/addon/errors.js.从字面上看,您在errors
对象上访问的任何键都将初始化为空数组.
编辑2:
根据您在评论中所说的不想循环访问属性的内容,您可以通过查看模型的validators
属性以另一种方式执行此操作.看看这个例子:
numErrors: function () {
var errorCounts = this.get('model.validators').mapBy('errors.length');
return errorCounts.reduce(function (a, b) { return a + b }, 0);
}.property('model.validators.@each.length')
Run Code Online (Sandbox Code Playgroud)
我也更新了JSBin:
http://emberjs.jsbin.com/jucuxodaga/1/edit?html,js,output