Validation 无法使余烬验证正常工作
由于在撰写本文时,Ember不支持开箱即用的表单验证,因此我正在寻找一种验证表单的方法。我遇到了船坞,大家一致认为这是EmberJS中表单验证的goto模块 我正在努力让它工作,但我在开始工作时遇到了一些困难 我没有使用文档中引用的Ember CLI,因此我从下载了一个编译的Ember-validations.js,并将Ember-validations.js包含在我的apps js文件中 文档现在说要将validations.mixin传递到控制器中: 所以我使用:Validation 无法使余烬验证正常工作,validation,ember.js,Validation,Ember.js,由于在撰写本文时,Ember不支持开箱即用的表单验证,因此我正在寻找一种验证表单的方法。我遇到了船坞,大家一致认为这是EmberJS中表单验证的goto模块 我正在努力让它工作,但我在开始工作时遇到了一些困难 我没有使用文档中引用的Ember CLI,因此我从下载了一个编译的Ember-validations.js,并将Ember-validations.js包含在我的apps js文件中 文档现在说要将validations.mixin传递到控制器中: 所以我使用: App.Memberadd
App.MemberaddController = App.FamilyController.extend(EmberValidations.Mixin,{
needs: ["family","notifications"],
familyController: Em.computed.alias('controllers.family'),
notifications: Em.computed.alias('controllers.notifications'),
validations: {
firstname: {
presence: true,
presence : {message: 'mag niet leeg zijn'}
}
},
init: function() {
this.set('familyController.pageTitle', "Gezinslid toevoegen");
},
<etc...>
}
查看ember-validations.js,我可以看到mixin文件被引用为ember.validations.mixin
所以当我把它传给我的控制器时
App.MemberaddController = App.FamilyController.extend(Ember.Validations.Mixin,{
我看到:
Error while processing route: memberadd Cannot read property 'invoke' of undefined TypeError: Cannot read property 'invoke' of undefined
在_validate函数的ember-validations.js文件中
我做错了什么?首先,这是一个新项目,您可以选择使用ember cli。我建议您这样做,社区正在朝着这个方向前进 我想你的虫子在这里
validations: {
firstname: {
presence: true, <-- uneeded
presence <-- remove this space: {message: 'mag niet leeg zijn'}
}
},
不幸的是没有。。。即使注释掉整个validations对象,我仍然收到相同的错误:处理路由时出错:memberadd无法读取未定义类型的属性“invoke”错误:无法读取未定义类型的属性“invoke”。因此,很遗憾,我无法切换到此项目的CLI:我查看了源代码,它看起来像是验证程序为null时导致的null。我不是100%确定,但没有任何验证器似乎会导致这种问题。如果你只是存在:真的,它有效吗?
validations: {
firstname: {
presence: true, <-- uneeded
presence <-- remove this space: {message: 'mag niet leeg zijn'}
}
},
validations: {
firstname: {
presence: {message: 'mag niet leeg zijn'}
}
},