【问题标题】:Using "Validators.requiredTrue" in a angular template driven form在角度模板驱动形式中使用“Validators.requiredTrue”
【发布时间】:2017-07-18 19:02:23
【问题描述】:

我需要验证用户在允许注册之前是否选中了“TOS”复选框。我想使用requiredTrue validator 来执行此操作,但我在文档中找不到在模板驱动的表单中使用此验证器的方法。是否可以?如果有,你能举个例子吗?

【问题讨论】:

  • 我最终创建了自己的验证器。如果有人需要和我类似的东西,那就去gist.github.com/jeanpchr/5c182fe50554c3699aab4f1e0d9cf4f8
  • 嗨,我正在尝试做同样的事情,但显然复选框被完全忽略了。如果我将自定义验证器附加到文本输入,它工作正常。如果我将它附加到一个复选框,它就不会运行。没有错误,没有什么,我的指令(构造函数+验证方法)中的代码没有执行。有什么线索吗?

标签: angular validation angular2-template


【解决方案1】:

当使用角度表单验证来验证复选框是否已被选中时,您只需添加“必需”验证器即可。这适用于模板驱动和反应式表单。对于模板驱动的表单,复选框的 html 看起来像这样:

<input type="checkbox" name="TOS" ngModel required>

或者,如果您使用的是角材料:

<mat-checkbox name="TOS" ngModel required></mat-checkbox>

上述两个示例都会将表单有效性设置为 INVALID,直到用户选中复选框。

【讨论】:

    猜你喜欢
    • 2020-09-15
    • 1970-01-01
    • 2017-07-23
    • 2020-01-21
    • 1970-01-01
    • 1970-01-01
    • 2018-07-16
    • 2020-01-27
    • 2019-06-16
    相关资源
    最近更新 更多