【发布时间】:2023-03-23 03:45:02
【问题描述】:
我正在构建一个 Angular2 客户端应用程序。我目前正在研究会员组件并将客户端组件与 MVC6 vNext Identity v3 集成。我编写了自定义 Angular2 密码验证器,如下所示:
needsCapitalLetter(ctrl: Control): {[s: string]: boolean} {
if(!ctrl.value.match(/[A-Z]/))
return {'needsCapitalLetter': true}
return null;
}
needsLowerLetter(ctrl: Control): {[s: string]: boolean} {
if(!ctrl.value.match(/[a-z]/))
return {'needsLowerLetter': true}
return null;
}
needsNumber(ctrl: Control): {[s: string]: boolean} {
if(!ctrl.value.match(/\d/))
return {'needsNumber': true}
return null;
}
needsSpecialCharacter(ctrl: Control): {[s: string]: boolean} {
if(!ctrl.value.match(/[^a-zA-Z\d]/))
return {'needsSpecialCharacter': true}
return null;
}
这项工作很棒,我喜欢 Angular2,但现在我正在尝试编写一个验证器来验证“确认密码”是否等于“密码”。为了做到这一点,我需要能够针对另一个字段验证一个字段。我可以轻松地在组件级别执行此操作,只需检查模糊、提交或任何其他方式,但这绕过了 Angular2 ngForm 验证系统。我非常想弄清楚如何为一个可以检查另一个字段的值的字段编写 Angular2 验证器,方法是传入另一个字段的名称或类似的名称。看起来这应该是一种能力,因为这在几乎所有复杂的业务应用程序 UI 中都是必需的。
【问题讨论】:
标签: javascript validation angular