首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >余烬表单-作为副词的文本-字段的模糊不工作

余烬表单-作为副词的文本-字段的模糊不工作
EN

Stack Overflow用户
提问于 2019-07-28 09:12:24
回答 1查看 125关注 0票数 0

使用最新的Ember版本3.11

我尝试了onblur和focusOut,但是focusOut抛出了错误,因为它是一个无标记的组件。他们都不起作用。

我试图构建一个用户表单,并在用户模糊的时候验证输入。

我用下面的副词在一起

组件模板文件

代码语言:javascript
复制
{{#form-for user submit=(action "submit") as |f|}}
  {{f.text-field "name" autocomplete="off" placeholder="enter name" onblur=(action "validateOnBlur")}}
  {{#if user.error.name}}
    <p>{{user.error.name.validation}}</p>
  {{/if}}
  {{f.email-field "email"}}
  {{#if user.error.email}}
    <p>{{user.error.email.validation}}</p>
  {{/if}}
  {{f.password-field "password" }}
  {{#if user.error.password}}
    <p>{{user.error.password.validation}}</p>
  {{/if}}
  {{f.submit "Create User"}}
{{/form-for}}

组件Javascript文件

代码语言:javascript
复制
import Component from '@ember/component';
import { get }   from '@ember/object';
import Changeset from 'ember-changeset';
import lookupValidator from 'ember-changeset-validations';
import UserValidations from '../../validations/user';

export default Component.extend({
  init() {
    this._super(...arguments);
    this.user = new Changeset(get(this, 'model'), lookupValidator(UserValidations), UserValidations);
  },
  actions:{
    validateOnBlur(changeset, property){
      debugger
    },
    async submit(changeset){
      await changeset.validate();
      if(changeset.isValid){
        changeset.save();
      }
    }
  }
});

验证器

代码语言:javascript
复制
import {
  validatePresence,
  validateLength,
  validateFormat
} from 'ember-changeset-validations/validators';

export default {
  name: validatePresence(true),
  email: [
    validatePresence(true),
    validateFormat({ type: 'email' })
  ],
  password: [
    validatePresence(true),
    validateLength({ min: 8 })
  ]
};
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-07-28 09:57:44

我发现了没有触发 onblur 的原因,因为在中没有属性onblur。

https://github.com/martndemus/ember-form-for/blob/master/addon/templates/components/form-fields/text-field.hbs

来自form的传递的onblur没有连接到它。我直接在addon file(text-field.hbs)中添加了f.control下的,以便进行检查,现在它运行良好。

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

https://stackoverflow.com/questions/57239440

复制
相关文章

相似问题

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