Angular中的密码确认验证——奇怪的行为
创始人
2024-10-31 07:30:50
0

在Angular中进行密码确认验证时,经常会遇到奇怪的行为。例如,无论确认密码是否匹配,表单仍然显示为有效,或者在尝试提交表单时显示错误消息,而实际上表单是有效的。

下面是一个代码示例,使用ngModel指令和自定义验证器来确保密码和确认密码匹配,并在HTML模板中添加了一些错误信息来提高用户体验:

HTML模板:

Passwords do not match.

自定义验证器:

import { Directive, Input } from '@angular/core';
import { NG_VALIDATORS, Validator, AbstractControl, ValidationErrors } from '@angular/forms';

@Directive({
  selector: '[matchPassword]',
  providers: [{ provide: NG_VALIDATORS, useExisting: MatchPasswordValidatorDirective, multi: true }]
})
export class MatchPasswordValidatorDirective implements Validator {
  @Input('matchPassword') passwordToMatch: string;

  validate(control: AbstractControl): ValidationErrors {
    const password = control.value;
    if (password && this.passwordToMatch && password !== this.passwordToMatch) {
      return { mismatchedPasswords: true };
    }
    return null;
  }
}

在这个示例中,密码和确认密码都是必填项,并且需要至少8个字符。还有一个自定义指令matchPassword,

相关内容

热门资讯

黑科技辅助挂"科技新... 黑科技辅助挂"科技新星游牛牛辅助"好像存在有辅助app(哔哩哔哩)暗藏猫腻,小编详细说明科技新星游牛...
透视有挂"aapok... 透视有挂"aapoker透视插件"真是真的有辅助技巧(哔哩哔哩)1、让任何用户在无需aapoker透...
透视专业"hhpok... 透视专业"hhpoker软件靠谱吗"总是真的有辅助工具(哔哩哔哩)1、下载好hhpoker软件靠谱吗...
透视解迷"wepok... 透视解迷"wepoker免费脚本"原来真的是有辅助app(哔哩哔哩)wepoker免费脚本能透视中分...
透视必备"werpl... 透视必备"werplan外卦神器"一贯是真的辅助工具(哔哩哔哩);1、下载好werplan外卦神器透...
透视开挂"智星德州可... 透视开挂"智星德州可以透视吗"确实有辅助技巧(哔哩哔哩)智星德州可以透视吗破解侠是真的助透视。每个模...
透视总结"智星菠萝可... 透视总结"智星菠萝可以辅助吗"切实有辅助方法(哔哩哔哩)1、玩家可以在智星菠萝可以辅助吗透视最简单三...
透视详情"德普之星怎... 透视详情"德普之星怎么开辅助"切实是真的辅助方法(哔哩哔哩)1、进入游戏-大厅左侧-新手福利-激活码...
透视必备"红龙pok... 透视必备"红龙poker辅助器免费观看"一贯存在有辅助工具(哔哩哔哩)红龙poker辅助器免费观看是...
透视详情"pokem... 透视详情"pokemomo辅助工具"其实是真的辅助插件(哔哩哔哩)一、pokemomo辅助工具可以开...