【问题标题】:Issue with ember-cp-validation in an ember-enginesember-engines 中的 ember-cp-validation 问题
【发布时间】:2017-09-22 08:58:03
【问题描述】:

正如标题所说,我对ember-cp-validations 有疑问,我认为这与ember-engines 有关。
基本上,我的问题是使用 ember-cp-validations 的模型的表单中没有验证。 这是我的模型:

import Ember from 'ember';
import DS from 'ember-data';
import { validator , buildValidations } from 'ember-cp-validations';

const Validations = buildValidations(
    {
        name:[
            validator('presence', true),
            validator('ds-error'),
            validator('length', {
                min: 3,
                max: 15,
                message: 'The length must be between 3-15 character'
            })
        ]
);

export default DS.Model.extend(Validations, {
    numericId: Ember.computed('id', function ()
    {
        "use strict";
        return Number(this.get('id'));
    }),
    name: DS.attr('string'),
});

如您所见,我的模型非常简单,并且在我的应用程序中运行良好。

对于模板,我使用的是ember-bootstrap,它看起来像这样:

{{#bs-form formLayout="horizontal" model=myModel onSubmit=(action 'update') as |form|}}
  <fieldset>
    <legend>Configuration</legend>
        {{form.element controlType="text" label=Name
                       placeholder=myName
                       property="name"}}
        {{bs-button
            defaultText=Submit
            type="primary"
            disabled=(v-get myModel 'isInvalid')
            buttonType="submit"}}
  </fieldset>
{{/bs-form}}

我的模板也很简单,您可以看到在我的表单的第一部分中我调用了property="name",这是我定义模型的 anme 属性的地方。
例如,如果我的 name.length 小于 3 个字符,则不会显示该消息。
我有义务添加disabled=(v-get myModel 'isInvalid'),如果没有完成验证,这将禁用我的按钮,因为如果我没有添加此属性,即使某些信息为假,也会发送信息。
也许有人有一个提示,可以在我的表单中进行验证。大家好!

【问题讨论】:

    标签: ember.js ember-data ember-engines ember-cp-validations


    【解决方案1】:

    我刚刚找到它,有一个插件会自动显示消息错误,并以 ember-bootstrap 形式进行验证:ember-bootstrap-cp-validations

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-08-07
      • 1970-01-01
      • 1970-01-01
      • 2013-05-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多