如何从angular 6中的组件以模板驱动的形式添加验证

时间:2018-08-17 14:33:55

标签: angular typescript validation angular6

在角度6中,我们有两种创建表单的方法。

  1. 模型驱动
  2. 模板驱动

在模型驱动的方法中,我们通过组件中的代码定义了验证器。和 在模板驱动的方法中,我们通过指令和模板本身中的HTML5属性来定义验证器。

有没有办法,在模板驱动的形式中,我们可以从组件代码定义验证。

在一些输入测试更改中,我需要从组件代码定义和更改文本框的验证。

<input type="text" [(ngModel)]="value" (input)="ValueChangeEvent(myvalue)" /> 

这里,在ValueChangeEvent方法中,我需要更改文本框的验证。(例如,当用户键入内容时,只需要在文本框中添加最小值验证即可。)< / p>

1 个答案:

答案 0 :(得分:1)

使用ControlValueAccessor在Angular中创建自定义表单控件

  

ControlValueAccessor充当Angular表单API之间的桥梁   和DOM中的本机元素。

在Angular中创建表单时,有时您希望输入的内容不是标准的文本输入,选择或复选框。通过实现ControlValueAccessor接口并将该组件注册为NG_VALUE_ACCESSOR,您可以将自定义表单控件无缝集成到模板驱动或反应形式中,就像它是本机输入一样!

检查以下内容:https://alligator.io/angular/custom-form-control/

customFormValidation的示例:https://stackblitz.com/edit/angular-hhgkje