当前位置: 首页 > 知识库问答 >
问题:

我在尝试用角度来做密码强度

蔚承天
2023-03-14

我想做的密码强度角,大写,小写,数字和特殊字符角在控制台中,我得到的错误。

没有密码强度的提供者!在passwordstrength.ts文件中

超文本标记语言


    <div class="validation_errors text-left">
                            <ng-container *ngFor="let validation of validationmessages.password">
                              <div class="error-message"
                                *ngIf="loginform.get('password')?.hasError(validation.type) && (loginform.get('password')?.dirty || loginform.get('password')?.touched)">
    
                                <span> {{ validation.message }}</span>
                  <p class="help is-danger"
                  *ngIf="loginform.get('password')?.hasError('strong')">
                  Must have at least one number, one lowercase and one uppercase letter.</p>
                              </div>
                            </ng-container>
                          </div>

断续器

     this.loginform = this.formbuilder.group({
              username: ['', Validators.required],
              password: ['', passwordstrength.strong]
            });
          }

密码strength.ts

  import { FormControl } from '@angular/forms';

export interface ValidationResult {
    [key: string]: boolean;
}

export class passwordstrength {

    public static strong(control: FormControl): ValidationResult {
        let hasNumber = /\d/.test(control.value);
        let hasUpper = /[A-Z]/.test(control.value);
        let hasLower = /[a-z]/.test(control.value);
        // console.log('Num, Upp, Low', hasNumber, hasUpper, hasLower);
        const valid = hasNumber && hasUpper && hasLower;
        if (!valid) {
            // return what´s not valid
            return { strong: true };
        }
        return null!;
    }
}


共有1个答案

陶泳
2023-03-14

最简单的解决方案是为服务类使用@Injectable()装饰器。

@Injectable({
    providedIn: 'root'
})
export class passwordstrength {
    // class definition
}

另一个选项是在模块的提供程序数组中指定它。

@NgModule({
  imports: [
  ],
  declarations: [ ],
  providers: [passwordstrength],
  bootstrap: [ ... ]
})

《Angular Style Guide》的其他评论:

请务必使用破折号来分隔描述性名称中的单词。一定要使用传统的类型名,包括。服务,。组件,。管道,。模块和.指令。

因此,您的“密码强度.ts”可以更改为“密码强度.service.ts”

类似地,“class passwordstrength”可以更改为“class PasswordStrengthService”

 类似资料:
  • 我需要验证密码输入表单字段的强度。要求是: < li >至少一个小写字符 < li >至少一个大写字符 < li >至少一个号码< br >(无论顺序) 我迄今为止搜索和尝试的结果如下,结果不一致。 它似乎验证了正则表达式验证的顺序。 我需要的是检查是否存在至少一个字符“类型”。

  • 本文向大家介绍jQuery实用密码强度检测,包括了jQuery实用密码强度检测的使用技巧和注意事项,需要的朋友参考一下 JQ实用密码强度检测 通过正则来判断验证密码强弱并通过替换提示图片进行显示。 素材图片,请自取: html源码: css源码: javascript源码: 根据上述正则最终效果图如下: 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持呐喊教程。

  • 问题内容: 谁能推荐一个Java库,其中包含适用于在Webapp中执行服务器端密码强度检查的方法。理想情况下,检查程序应为: 可配置的,允许部署者提供不同的字典,调整不同标准的权重,等等 可扩展,允许在需要时实施新标准 用纯Java实现 根本没有与标记库,UI组件或“密码管理”功能交织在一起 与GPL 3项目兼容 与弹簧接线兼容 Mavenized(可通过Maven Central获得) 问题答案

  • 本文向大家介绍jquery密码强度校验,包括了jquery密码强度校验的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了jquery密码强度校验的验证代码,分享给大家供大家参考。具体如下: 预想的效果截图如下: 关键代码: 以上就是jquery判断密码强度校验代码,大家可以应用到自己的项目中,希望大家喜欢。

  • 本文向大家介绍js密码强度校验,包括了js密码强度校验的使用技巧和注意事项,需要的朋友参考一下 现在很多论坛和博客都在用户注册时添加了验证密码强度的功能,在以前的文章中,我们曾经给出过一段检验密码强度的例子,今天再看一个与《js密码强度校验》的代码。 效果: 以上就是为大家分享的js密码强度校验的全部代码,希望对大家的学习有所帮助。

  • 本文向大家介绍js密码强度检测,包括了js密码强度检测的使用技巧和注意事项,需要的朋友参考一下 本文实例讲解了js密码强度检测的实现代码,分享给大家供大家参考,具体内容如下 运行效果图: 这段JavaScript代码比较实用,它完成用户注册时判断用户输入密码的强度,分强、弱、中三等级,它可以根据用户输入的密码显示对应的密码强弱等级,方便用户改进输入。 实现代码: 这一款先看一看效果图。 具体内容: