首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何呈现由EmberValidations验证的属性的有效状态

如何呈现由EmberValidations验证的属性的有效状态
EN

Stack Overflow用户
提问于 2015-05-18 21:12:31
回答 1查看 119关注 0票数 0

我得到了这样的验证:

代码语言:javascript
复制
import Ember from 'ember';
import EmberValidations from 'ember-validations';


export default Ember.Controller.extend(EmberValidations, {
  validations: {
    age: {
      presence: {message: 'Enter your age'}
    }
  },
  isAgeValid: function () {
    //some chek
  }.property('age'),

  canValidateAge: function () {
    //some check to determine if to render icons
  }.property('age')
    }

在我的模板中:

代码语言:javascript
复制
  {{input id="age" placeholder="Age" value=age  class="form-control input-md"}}
                <span class="help-block">help</span>
              {{#if canValidateAge}}
                  <span class="{{if isAgeValid 'glyphicon-ok' 'glyphicon-remove'}} form-control-feedback glyphicon"></span>
                  <span class="field-error text-danger help-block">{{errors.age.[0]}}</span>
              {{/if}}

在调试器中,我当然有一个名为validations的属性,但我不知道如何使用它。还有一种方法可以避免像is AgeValid和canValidateAge这样的方法(如果处于“原始”状态,则不会显示图标)。

鲍尔:

代码语言:javascript
复制
  "devDependencies": {
    "broccoli-asset-rev": "^2.0.2",
    "broccoli-merge-trees": "^0.2.1",
    "broccoli-static-compiler": "^0.2.1",
    "ember-cli": "0.2.5",
    "ember-cli-app-version": "0.3.3",
    "ember-cli-babel": "^5.0.0",
    "ember-cli-content-security-policy": "0.4.0",
    "ember-cli-dependency-checker": "^1.0.0",
    "ember-cli-htmlbars": "0.7.6",
    "ember-cli-ic-ajax": "0.1.1",
    "ember-cli-inject-live-reload": "^1.3.0",
    "ember-cli-less": "^1.3.3",
    "ember-cli-qunit": "0.3.13",
    "ember-cli-uglify": "^1.0.1",
    "ember-data": "1.0.0-beta.17",
    "ember-disable-proxy-controllers": "^0.7.0",
    "ember-export-application-global": "^1.0.2",
    "ember-validations": "^2.0.0-alpha.3"
  }
EN

回答 1

Stack Overflow用户

发布于 2015-05-18 22:20:27

您可以观察errors属性。

代码语言:javascript
复制
isAgeValid: Em.computed.gt('errors.age.length', 0)

如果您想只在触摸输入字段之后才显示验证,我还建议您在这篇博客文章中只在focusOuthttp://www.teamrarebit.com/blog/2015/02/14/ember-inline-validation-errors之后显示错误

更新:

The missing part,作者@SuperUberDuper:

extend(EmberValidations.Mixin)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30304191

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档