为角度为2的动态表单创建自定义验证器

克罗

我只是介绍了如何创建动态表单的红色angular 2食谱,但我徘徊了如何向特定字段添加自定义验证器。

questions.forEach(question => {
  group[question.key] = question.required ? new FormControl(question.value || '', Validators.required)
                                          : new FormControl(question.value || '');
});

在这里,它们形成一个“从组”到“保持”表单输入,因此,如果我想对特定问题进行特定的验证,例如:如果我有用于确认密码匹配的输入,该怎么办?我知道有validateequal属性可以执行此任务,我可以如何应用它validateequal甚至创建自己的自定义验证

请注意,它是动态形式,这意味着可以保留任何输入,例如,我计划使用相同的表单来生成登录表单,这意味着它仅具有密码输入,我需要检查是否有输入将保留密码以及是否任何人都将持有密码确认,如果是的话,那么我需要在提交之前检查它们是否匹配

卡莱布·斯旺克(Caleb Swank)

好吧,我想我拥有了。

您将使用自定义指令来完成作业。

这是关于自定义指令的非常基础的教程https://angular.io/docs/ts/latest/guide/attribute-directives.html

如果您创建了该应用程序,但您正在对应用程序进行模板化,则可以轻松地对其进行修改以适合您的参数。

在我的例子中,我以以下方式使用了该示例。

您的NgModule || app.module.ts

import { customDirective } from '../directive/path';

您的customDirective.ts || js

import {Directive, HostListener, Input, ElementRef} from '@angular/core';
@Directive({
   selector: '[fooSelector]'
})

export class CustomDirective {
  constructor(private el: ElementRef, private renderer: Renderer) {}
  @Input('fooSelector') testing: Object;

  //this controls event type with change being the event
  @HostListener('change') onChange(){
    this.logicFunct(this.htmlAttr); //will define htmlAttr in template
  }

  //this is the validator logic
  private logicFunct($obj: Object){
    // submit logic here - for ex:
    if($obj != 'test) {
      this.varBar = true; //check template ngIf
    }
  }
}

您的模板

<input
  type="text"
  #htmlAttr
  [fooSelector]="this.htmlAttr._value"
  *ngIf="!this.varBar">
</input>

我几乎肯定,还有其他更好的方法可以做到这一点,如果有人有,请告诉我们!

希望这对任何绊脚的人有所帮助。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

为表单输入创建依赖的自定义验证器吗?

来自分类Dev

角度2-自定义验证器始终返回true,即使条件为false

来自分类Dev

为自定义验证器创建测试

来自分类Dev

如何在cakephp3中为无模型表单创建自定义验证

来自分类Dev

角度自定义表单验证

来自分类Dev

为表单构建器添加方法创建自定义选项

来自分类Dev

为term.js创建自定义的角度指令

来自分类Dev

为term.js创建自定义的角度指令

来自分类Dev

在Symfony中为@Route注释创建自定义需求验证器

来自分类Dev

PlayFab-为纸牌游戏创建自定义验证服务器

来自分类Dev

为动态创建的外部+ AOT编译组件提供自定义注入器

来自分类Dev

为注册表单中的自定义字段设计自定义验证

来自分类Dev

Symfony2-为自定义表单类型创建模板

来自分类Dev

为动态矩阵类实现自定义迭代器

来自分类Dev

为动态矩阵类实现自定义迭代器

来自分类Dev

在Groovy中为地图创建自定义比较器

来自分类Dev

AngularJS - 为视图创建自定义转换器

来自分类Dev

自定义验证器未将参数值设置为Struts2中验证器的属性

来自分类Dev

自定义验证器未在Struts2中将参数值设置为验证器的属性

来自分类Dev

为laravel5表单验证中的字段设置自定义验证消息?

来自分类Dev

Angular2模板驱动的表单:如何为自定义表单控件创建字段验证?

来自分类Dev

为TextInputLayout创建自定义类

来自分类Dev

在Laravel表单验证中为多个字段设置一条自定义消息

来自分类Dev

为Boost中的动态数组定义自定义步进器

来自分类Dev

在重力表单中为日期,月份和年份字段创建自定义合并标签

来自分类Dev

验证错误消息未显示为Angular 2中的自定义验证

来自分类Dev

验证错误消息未显示为Angular 2中的自定义验证

来自分类Dev

用于自定义指令表单控件的AngularJS自定义表单验证器

来自分类Dev

Nagios:为经过身份验证的用户创建自定义菜单

Related 相关文章

  1. 1

    为表单输入创建依赖的自定义验证器吗?

  2. 2

    角度2-自定义验证器始终返回true,即使条件为false

  3. 3

    为自定义验证器创建测试

  4. 4

    如何在cakephp3中为无模型表单创建自定义验证

  5. 5

    角度自定义表单验证

  6. 6

    为表单构建器添加方法创建自定义选项

  7. 7

    为term.js创建自定义的角度指令

  8. 8

    为term.js创建自定义的角度指令

  9. 9

    在Symfony中为@Route注释创建自定义需求验证器

  10. 10

    PlayFab-为纸牌游戏创建自定义验证服务器

  11. 11

    为动态创建的外部+ AOT编译组件提供自定义注入器

  12. 12

    为注册表单中的自定义字段设计自定义验证

  13. 13

    Symfony2-为自定义表单类型创建模板

  14. 14

    为动态矩阵类实现自定义迭代器

  15. 15

    为动态矩阵类实现自定义迭代器

  16. 16

    在Groovy中为地图创建自定义比较器

  17. 17

    AngularJS - 为视图创建自定义转换器

  18. 18

    自定义验证器未将参数值设置为Struts2中验证器的属性

  19. 19

    自定义验证器未在Struts2中将参数值设置为验证器的属性

  20. 20

    为laravel5表单验证中的字段设置自定义验证消息?

  21. 21

    Angular2模板驱动的表单:如何为自定义表单控件创建字段验证?

  22. 22

    为TextInputLayout创建自定义类

  23. 23

    在Laravel表单验证中为多个字段设置一条自定义消息

  24. 24

    为Boost中的动态数组定义自定义步进器

  25. 25

    在重力表单中为日期,月份和年份字段创建自定义合并标签

  26. 26

    验证错误消息未显示为Angular 2中的自定义验证

  27. 27

    验证错误消息未显示为Angular 2中的自定义验证

  28. 28

    用于自定义指令表单控件的AngularJS自定义表单验证器

  29. 29

    Nagios:为经过身份验证的用户创建自定义菜单

热门标签

归档