有沒有人知道如何聲明ASYNC驗證方法自定義字段的類別?如何將一個異步驗證器添加到CUSTOM字段?
現在我在validate()
方法同步驗證:
@Component({
selector: 'my-field',
template: `<p>Some markup</p>`,
providers: [
{ provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => MyFieldComponent), multi: true },
{ provide: NG_VALIDATORS, useExisting: forwardRef(() => MyFieldComponent), multi: true }
]
})
export class MyFieldComponent implements ControlValueAccessor {
validate(c: FormControl) {
// return null or error
}
// Rest of the code omitted for brevity
// writeValue(), registerOnChange()...
}
但是即使我添加NG_ASYNC_VALIDATORS
使用相同的語法與上述供應商,它不會讓我申報的東西像validateAsync()
方法。
除非......這兩種類型的驗證目標的validate()
方法,我需要做的這個方法既我的同步和異步驗證和回一大觀察到(可能是包裝的多個錯誤的鍵)?我不太確定這一點。
邊注:有什麼我能得到的工作是直接宣佈異步驗證在供應商,無論是內嵌useValue
或具有useClass
一個單獨的類。但我希望作爲組件類別與useExisting
的方法。
什麼是'FieldEntityReferenceComponent'? – yurzui
對不起,複製粘貼出錯了......應該說'MyFieldComponent' – AngularChef