向用户显示表单控件中不同模式的许多不同错误消息

时间:2018-06-25 23:28:55

标签: html regex angular forms angular5

我有一个用Angular5用HTML制作的表单。 如果没有遵循验证器,我正在使用“表单验证”和“表单控件”给出错误消息。

像这样:

 this.password = new FormControl('', [Validators.required, Validators.minLength(8),Validators.pattern("^(?=.*?[A-Z])(?=.*?[a-z])(?=.*?[0-9])(?=.*?[#?!@$%^&*-]).{8,16}$"), Validators.maxLength(16)]);

如果此验证器不正确,那么我向用户显示一条错误消息,指示我们需要使用此正则表达式规则的密码。

现在,我想向用户显示此消息。例如:

用户在输入密码时输入以下字符串:'A123'

我需要向他展示,该密码仍然需要一个小写字母和一个符号。如果他写了丢失的参数,那么消息将消失。

结论:我需要向用户展示他在输入中引入的字符串缺少哪些规则。我不希望在同一封邮件中出现任何问题,而要单独发送。

1 个答案:

答案 0 :(得分:1)

尝试通过它运行多个正则表达式模式,并使用IsMatch进行验证。

如果.*?[0-9].*? ==否“请输入数字字符”

如果.*?[A-Z].*? ==否“请输入大写字母”(我认为这不适用于带有重音符号的字符)

如果.*?[!@#$%^&*()_+\-=\[\]{};':"\\|,.<>\/?].*? ==否“请输入特殊字符”

如果.{3,16} ==否“请输入3到16个字符的密码。

我认为没有一种方法可以确定所有缺失的方法,它只会知道缺失的东西。