1

我有一个 ember-app-kit 应用程序。对于我使用 ember 默认视图的表单。但是对于表单验证,我遇到了每个人都强烈推荐的这个库。Docyard 的 Ember 验证。但我不确定如何在我的 eak 设置中实现相同的功能。

我有的问题: 1. 我应该在哪里添加验证?2. 定义验证时要声明什么?3. 错误如何在焦点外或提交按钮上显示?

例如,我有一个注册表单,我想验证 firstname lastname、email、password、gender(select options) 。我应该怎么做?

如果可能,请使用 JSbin 澄清查询。

4

1 回答 1

2
  1. 除非您使用可以复制的动态表单集,否则验证应该转到控制器。你也必须将 ControllerObject 包装到这个

    var AddController = Ember.ArrayController.extend(Ember.Validations.Mixin, {}

要开始验证,您必须创建名为验证的新对象

您必须添加要验证的输入值

  validations: {
          newFirstname:{
            format: { with: /^[A-Za-z-]{2,16}$/, allowBlank: true, message: 'Enter valid name.'  }
          },
          newFamilyname: {
            format: { with: /^[A-Za-z-]{3,16}$/ , message: 'Required field lastname.'  }
          }
        },

显示错误。

   <div class="row">
        <div class="col-md-6 col-xs-4">
            <label>First name: </label>
                {{input type="text" placeholder="First name" value=newFirstname class="form-control"}}

                    {{#if errors.newFirstname}} 
                        <span class="error errorForValidation"><span class="glyphicon glyphicon-warning-sign"></span> {{errors.newFirstname}}</span>
                    {{/if}}

        </div>
        <div class="col-md-6 col-xs-4">
            <label>*Last name: </label>
                {{input type="text" placeholder="Family name" value=newFamilyname class="form-control"}}

                    {{#if errors.newFamilyname}}
                        <span class="error"><span class="glyphicon glyphicon-warning-sign"></span> {{errors.newFamilyname}}</span>
                    {{/if}}

        </div>
    </div><!--end row-->

验证无误时显示按钮

<button type="submit" class="btn btn-primary" {{bind-attr disabled="isInvalid"}}{{action 'GetData'}}>Create</button>

JSBIN:http ://emberjs.jsbin.com/iDeQABo/17/edit

于 2014-03-05T11:19:14.267 回答