看看Angular 2(beta.0)中模板驱动与模型驱动表单的优缺点,我想知道如何使用模板驱动表单将自定义验证附加到简单的文本输入字段.这种方法没有可用的示例(除了必需),或者我没有找到它们.
<form #f="ngForm"> <label for="name">Name</label> <input type="text" ngControl="name" [(ngModel)]="obj.name" #name="ngForm"> <button type="button" (click)="save()">Save</button> </form>
作为验证功能的示例:
validate(control:Control):ValidationResult { if (control.value === 'Monkey') { return { invalidName: true } } }
上述验证功能在使用FormBuilder的模型驱动表单中使用.如何使用模板驱动方法完成此操作?
答案如“不可能也不会在未来”.或者“这不是最佳实践,请采用模型驱动方法.”连同一个论点对我来说都不错. (我已经假设没有办法,但在网络上找不到任何证据,我更喜欢模型驱动方法.)
解决方法
在模板驱动的表单中,您需要为自定义验证器创建一个指令,并将其附加到输入元素,如html属性(与追加所需属性的方式相同).
您应该阅读本文,了解如何为自定义验证器创建指令:http://blog.thoughtram.io/angular/2016/03/14/custom-validators-in-angular-2.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。