比较 angular 反应形式的密码
Compare password in angular reactive forms
为了比较密码,我正在使用 rxwebvalidators,当我在 confirmPassword 字段后的密码字段中输入值时,它工作正常。如果在输入文本时 confirmPassword 字段值不正确,则 FormControl 将无效。
但问题是如果两个控件具有相同的值并且我更改了密码字段中的值,那么 confirmPassword 字段将不会无效。但实际情况下肯定是无效的。
我在本地项目中尝试过,还在 stackblitz 上创建了一个小副本供您参考:https://stackblitz.com/edit/angular-nriznm?file=src%2Fapp%2Fapp.component.ts
我执行以下操作:
this.userForm = this.formBuilder.group({
password:[''],
confirmPassword:['',RxwebValidators.compare({fieldName:'password'})]
})
下面是我的 html 代码:
<form [formGroup]="userForm">
password <input type="text" formControlName="password"/><br/>
compare password <input type="text" formControlName="confirmPassword"/>
{{userForm.controls.confirmPassword.errors | json}}
</form>
我花了一个多小时来确定原因,但没有成功。请帮助我做错的地方。它正在 rxweb.io 网站上运行:https://rxweb.io/form-validations/compare/validators#basiccomparevalidation
现在可以使用了,我忘记在主模块中导入 'RxReactiveFormsModule'。
主模块'RxReactiveFormsModule'的注册码:
import { RxReactiveFormsModule } from "@rxweb/reactive-form-validators"
@NgModule({
imports: [ BrowserModule, FormsModule,ReactiveFormsModule,RxReactiveFormsModule ],
declarations: [ AppComponent, HelloComponent ],
bootstrap: [ AppComponent ]
})
export class AppModule { }
致力于 stackblitz:https://stackblitz.com/edit/angular-nriznm?file=src%2Fapp%2Fapp.module.ts
为了比较密码,我正在使用 rxwebvalidators,当我在 confirmPassword 字段后的密码字段中输入值时,它工作正常。如果在输入文本时 confirmPassword 字段值不正确,则 FormControl 将无效。
但问题是如果两个控件具有相同的值并且我更改了密码字段中的值,那么 confirmPassword 字段将不会无效。但实际情况下肯定是无效的。
我在本地项目中尝试过,还在 stackblitz 上创建了一个小副本供您参考:https://stackblitz.com/edit/angular-nriznm?file=src%2Fapp%2Fapp.component.ts
我执行以下操作:
this.userForm = this.formBuilder.group({
password:[''],
confirmPassword:['',RxwebValidators.compare({fieldName:'password'})]
})
下面是我的 html 代码:
<form [formGroup]="userForm">
password <input type="text" formControlName="password"/><br/>
compare password <input type="text" formControlName="confirmPassword"/>
{{userForm.controls.confirmPassword.errors | json}}
</form>
我花了一个多小时来确定原因,但没有成功。请帮助我做错的地方。它正在 rxweb.io 网站上运行:https://rxweb.io/form-validations/compare/validators#basiccomparevalidation
现在可以使用了,我忘记在主模块中导入 'RxReactiveFormsModule'。
主模块'RxReactiveFormsModule'的注册码:
import { RxReactiveFormsModule } from "@rxweb/reactive-form-validators"
@NgModule({
imports: [ BrowserModule, FormsModule,ReactiveFormsModule,RxReactiveFormsModule ],
declarations: [ AppComponent, HelloComponent ],
bootstrap: [ AppComponent ]
})
export class AppModule { }
致力于 stackblitz:https://stackblitz.com/edit/angular-nriznm?file=src%2Fapp%2Fapp.module.ts