[英]when i try to click on pasword show & hide icon then all form fields are showing validation
<pre>
<mat-form-field>
<mat-label>Enter your password</mat-label>
<input
matInput
[type]="hide ? 'password' : 'text'"
formControlName="password"
required
/>
<button
mat-icon-button
matSuffix
(click)="hide = !hide"
[attr.aria-label]="'Hide password'"
[attr.aria-pressed]="hide"
>
<mat-icon>{{ hide ? "visibility_off" : "visibility" }}</mat-icon>
</button>
<mat-error
*ngIf="
registerForm.get('password').hasError('minlength') &&
registerForm.get('password').hasError('required')
"
>Password must have at least 8 characters</mat-error
>
</mat-form-field>
</pre>
ts file .ts 文件
export class RegisteruserComponent implements OnInit {
hide = true;
isLoad = false;
registerForm = this.formbuilder.group(
{
name: [null],
email: [
null,
Validators.compose([
Validators.pattern('^[a-zA-Z0-9_.+-]+@[a-zA-Z0-9-]+.[a-zA-Z0-9-.]+$'),
]),
],
password: [
null,
Validators.compose([
Validators.required,
Validators.minLength(5),
Validators.maxLength(5),
]),
],
confirmPassword: ['', Validators.required],
},
{ validators: passwordMatchValidator }
);
constructor(private formbuilder: FormBuilder) {}
ngOnInit(): void {}
// tslint:disable-next-line: typedef
/* Called on each input in either password field */
// tslint:disable-next-line: typedef
confirmPassword() {
return this.registerForm.hasError('passwordMismatch')
? this.registerForm.controls.confirmPassword.setErrors([
{ passwordMismatch: true },
])
: this.registerForm.controls.confirmPassword.setErrors(null);
}
// tslint:disable-next-line: typedef
onSubmit() {
// tslint:disable-next-line: no-debugger
debugger;
console.log(this.registerForm);
}
}
When i try to hide & show the password icon it's hide & show working properly but the issue is total form also showing validation border color is highlighting, can any one help me on this When i try to hide & show the password icon it's hide & show working properly but the issue is total form also showing validation border color is highlighting, can any one help me on this当我尝试隐藏和显示密码图标时,它的隐藏和显示工作正常,但问题是整个表单还显示验证边框颜色突出显示,任何人都可以帮助我解决这个问题当我尝试隐藏和显示密码图标时,它是隐藏和显示工作正常,但问题是整个表单也显示验证边框颜色突出显示,任何人都可以帮助我
Try to add button type = button尝试添加按钮类型 = 按钮
<button type="button"
mat-icon-button
matSuffix
(click)="hide = !hide"
[attr.aria-label]="'Hide password'"
[attr.aria-pressed]="hide"
>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.