【问题标题】:Angular issue in validators.pattern when added dynamically动态添加时 validators.pattern 中的角度问题
【发布时间】:2020-08-05 12:37:17
【问题描述】:

我对使用响应式形式的 validators.pattern 有疑问。如果我在 formbuilder 组中添加验证,它工作得很好,也就是说当不满足正则表达式模式时该字段无效。 但是当我在提交时动态添加验证时,如果我输入了错误模式的值,则表示输入有效,而当我添加正确模式的值时,则表示无效。 o_O

  1. 表单生成器中的验证器
  form = this.formBuilder.group({
    field: [null, Validators.pattern('^([0-9]|0[0-9]|1[0-9]|2[0-3]):[0-5][0-9]$')]
  });
  1. 动态添加验证器:
this.form.controls[field].setValidators([Validators.pattern('/^([0-9]|0[0-9]|1[0-9]|2[0-3]):[0-5][0-9]$/')]);
this.form.controls[field].updateValueAndValidity();

我发现的唯一区别是因为我需要在第二种方法中添加 /。如果我删除 /,验证器将不起作用。

我也试过this.form.get('field').setValidators...,但行为是一样的。

你们知道我做错了什么吗?

谢谢!

【问题讨论】:

    标签: regex angular validation angular-reactive-forms


    【解决方案1】:
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多