角模板对密码字段进行多次验证?

时间:2018-11-02 02:30:40

标签: angular

我同样需要以模板形式对密码字段进行多次验证

  1. 必需
  2. 最小长度应为8
  3. 最大长度应为10
  4. 一个大写字符
  5. 一个字符小写
  6. 一个特殊字符

这是我的HTML代码,并且我已对此进行了必要的验证:

<input type="text" class="user-form-control" name="password" [ngModel]="user.password" required />

请帮助!。

1 个答案:

答案 0 :(得分:0)

使用模板驱动的表单,您可以create your own validators(请参阅此链接中的示例);或创建类似isFormValid(): boolean的函数,当您的所有条件都满足时返回true。它看起来像:

isFormValid(): boolean {
  if(user.password.length > 10)
    return false
  if(!this.containUppercase(user.password.length))
    return false

  // ...
  return true;
}

您可以将其绑定到您的提交按钮,如下所示:

<button type="submit" [disabled]="!isFormValid()">Submit</button>

因此,如果表单无效,则提交按钮将被禁用。


但是目前,我建议您使用具有内置验证和valid属性的反应形式。这是documentation on both forms validation