Emberjs和验证

dag*_*da1 25 ember.js

人们如何处理客户端验证和ember?

有没有开箱即用的东西或一个处理验证的插件,或者人们只是自己动手?

cal*_*mus 14

我会扩展Ember.TextField(或任何你的验证输入类型)并使用带有计算属性的classBinding.以下是示例:http://jsfiddle.net/caligoanimus/7UNRd/

模板:

<script type="text/x-handlebars" >
    {{view App.AlphaNumField
        placeholder="alpha-numeric data only"
        valueBinding="App.alphaNumInput"}}
</script>
Run Code Online (Sandbox Code Playgroud)

应用:

App = Ember.Application.create({
    AlphaNumField:  Ember.TextField.extend({
        isValid: function() {
            return /^[a-z0-9]+$/i.test(this.get('value'));
        }.property('value'),
        classNameBindings: 'isValid:valid:invalid'
    })
});
Run Code Online (Sandbox Code Playgroud)


yag*_*oar 0

我将使用模型/持久层,它使用传统的“错误”对象来保存模型上的验证错误。

由于 Ember 在观察变化方面表现出色,因此我会观察变化的错误对象来确定是否应该显示验证消息。

在我当前的设置中,我使用Tower.js作为框架,因为它使用 Ember 作为视图层,并且具有强大的模型/持久层。该层允许我在模型级别定义验证。每次我尝试保留模型时,都会对其进行验证并引发错误。在我看来,此错误会中止“理想”路径,并且不会继续执行工作流程,而是在模板中呈现验证错误。