mla*_*tti 2 forms validation ember.js
我从jsfiddle整合了Boronine优秀的ember.js字段验证代码.虽然这很精彩,但我仍然需要执行表单级别验证,以确保当用户提交表单时,一切正常.
最好的方法是什么?有没有一种方法可以将字段标记为已经过验证,以便表单处理程序可以简单地遍历字段以查看已验证的内容?
MP.SignUpFormView = Em.View.extend({
submitLogin:function (event) {
// walk through object fields to perform validation here, but how?!
}
});
Run Code Online (Sandbox Code Playgroud)
编辑:
为了清楚起见,我正在用把手和有约束力的,而不是试图走DOM对象等.
您尝试使用的模式在遵循文档脚本模式的应用程序中是有意义的,而Ember则不然.您可以强制执行此工作,但您会发现应用程序中的每个下一步都将变得越来越难.
在Ember中,显示由数据对象支持,因此Ember应用程序中的表单字段绑定到某个对象上的属性,并且在进行更改时,值会立即更新.你甚至不需要<form>除了造型之外的其他东西.
当用户想要对此对象采取某些操作(比如将其持久保存到服务器)时,应用程序的当前状态将回答"当用户现在想要采取此操作时会发生什么情况?"的问题.用户点击此处的按钮并不意味着"现在序列化表单中的数据并执行某些操作"这意味着"我已经完成了更改此对象的属性,并希望现在在应用程序中执行其他操作."
您的车把模板看起来像这样:
{{view Ember.Textfield valueBinding="name"}}
{{view Ember.Textfield valueBinding="age"}}
<button {{action save content}}>Save</button>
Run Code Online (Sandbox Code Playgroud)
并且可以在您的应用程序中处理可以处理的状态
Ember.Route.extend({
save: function(router, event){
if (event.context.validate()){
router.transitionTo('someNewState')
}
}
})
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4748 次 |
| 最近记录: |