2016-07-31 46 views
0

我們如何將參數傳遞到我們爲Angular 2代碼中的每個FormControl定義的驗證方法中?例如,在下面的代碼中,我如何將參數傳遞給validateSalary?就像寫一個函數的方法的正常的方式行不通Angular 2 FormControl,驗證方法參數傳遞

myForm.component.ts: ...

export class myFormComponent { 
... 

this.thisForm= this.builder.group({ 
     salary: ["", ValidationService.validateSalary] 
    }); 

... } 

validation.service.ts

export class ValidationService { 

    ... 
    static validateSalary (control: Control, myInput: string) { ...} 
    ... 
} 

回答

3

您可能需要如下東西:

static validateSalary(myInput: string) { 
    return (control: AbstractControl): {[key: string]: any} => { 
     // put your logic here 
    }; 
} 

然後在你的組件,其聲明如下:

this.thisForm = this.builder.group({ 
    salary: ["", ValidationService.validateSalary("1000.00")] 
}); 
+0

我的問題是,你怎麼myForm.component.ts通過myInput? – jerryh91

+0

我編輯了我的答案,請看看。 –