大佬教程收集整理的这篇文章主要介绍了Angular2中唯一性的自定义验证器,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
import { Component,Input,Output,EventEmitter } from '@angular/core'; import { NG_VALIDATORS,FormControl,FormBuilder,FormGroup,Validators,AbstractControl } from '@angular/forms'; import { ReferringAppModel } from './referringapp.model'; //import { CodeValidator } from './code-validator'; @Component({ selector: 'add-client-form',templateUrl: 'src/home/add-client-form.component.html' }) export class AddClientFormComponent { myForm: FormGroup; code: AbstractControl; name: AbstractControl; constructor(fb: FormBuilder) { this.myForm = fb.group({ 'code': ['',this.codeUnique],'name': ['',Validators.required] }); this.code = this.myForm.controls['code']; this.name = this.myForm.controls['name']; } @input() referringApps: ReferringAppModel[]; ngOnInit() { } onSubmit(form: any): void { console.log("submitted") }; codeUnique(c: FormControl) { try { // Blows up. return !this.referringApps.find(appInApps => appInApps.Code == c.value) ? null : { //return false ? null : { // WORKS validateEmail: { valid: false } }; } catch (ex) { console.log(ex); } } } TypeError: Cannot read property 'referringApps' of undefined at AddClientFormComponent.codeUnique (http://localhost/HubHacienda/dist/bundle.js:50071:26) at http://localhost/HubHacienda/dist/bundle.js:43538:54 at Array.map (native) at _executeValidators (http://localhost/HubHacienda/dist/bundle.js:43538:28) at FormControl.Validators.compose [as validator] (http://localhost/HubHacienda/dist/bundle.js:43518:38) at FormControl.AbstractControl._runValidator (http://localhost/HubHacienda/dist/bundle.js:45083:54) at FormControl.AbstractControl.updateValueAndValidity (http://localhost/HubHacienda/dist/bundle.js:45061:38) at FormControl.setValue (http://localhost/HubHacienda/dist/bundle.js:45327:19) at DefaultValueAccessor.onChange (http://localhost/HubHacienda/dist/bundle.js:44287:22) at DebugAppView._View_AddClientFormComponent0._handle_input_12_0 (AddClientFormComponent.ngfactory.js:493:47) at DebugAppView.eventHandler (http://localhost/HubHacienda/dist/bundle.js:35576:29) at COMPONENT_REGEX (http://localhost/HubHacienda/dist/bundle.js:38521:41) at http://localhost/HubHacienda/dist/bundle.js:38634:116 at ZoneDelegate.invoke (http://localhost/HubHacienda/dist/bundle.js:6875:29) at Object.onInvoke (http://localhost/HubHacienda/dist/bundle.js:32132:42) at ZoneDelegate.invoke (http://localhost/HubHacienda/dist/bundle.js:6874:35) at Zone.runGuarded (http://localhost/HubHacienda/dist/bundle.js:6782:48) at NgZoneImpl.runInnerGuarded (http://localhost/HubHacienda/dist/bundle.js:32161:83) at NgZone.runGuarded (http://localhost/HubHacienda/dist/bundle.js:32393:78) at HTMLInputElement.outsideHandler (http://localhost/HubHacienda/dist/bundle.js:38634:84) at ZoneDelegate.invokeTask (http://localhost/HubHacienda/dist/bundle.js:6908:38) at Zone.runTask (http://localhost/HubHacienda/dist/bundle.js:6808:48) at HTMLInputElement.ZoneTask.ZoneTask.cancelFn.invoke (http://localhost/HubHacienda/dist/bundle.js:6976:34)
以上是大佬教程为你收集整理的Angular2中唯一性的自定义验证器全部内容,希望文章能够帮你解决Angular2中唯一性的自定义验证器所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。