Tôi đã viết một rất đơn giản validator điều khiển biểu mẫu:Angular2 cách chuyển một tham số vào trình xác thực kiểm soát biểu mẫu tùy chỉnh?
import { Directive } from '@angular/core';
import { AbstractControl, NG_VALIDATORS } from '@angular/forms';
function checkboxRequiredValidator(c: AbstractControl) {
return c.value ? null : {
required: true
};
}
@Directive({
selector: '[checkbox-required-validator]',
providers: [
{ provide: NG_VALIDATORS, multi: true, useValue: checkboxRequiredValidator }
]
})
export class CheckboxRequiredValidator {
}
Tôi muốn vượt qua một tham số thông điệp tới nó mà tôi có thể trở lại. Tôi cố gắng này, nhưng nó sẽ không làm việc:
function checkboxRequiredValidator(c: AbstractControl, msg) {
return c.value ? null : {
message: msg
};
}
@Directive({
selector: '[checkbox-required-validator]',
providers: [
{ provide: NG_VALIDATORS, multi: true, useValue: checkboxRequiredValidator }
]
})
export class CheckboxRequiredValidator {
@Input('checkbox-required-validator') msg: = 'default message';
}
Bất kỳ trợ giúp sẽ được đánh giá
này cũng sẽ làm việc với các dữ liệu mô hình mà bạn muốn vượt qua miễn là bạn suy nó ({ { chế độ l.property}}) –
@GlennBullock bạn có thể truyền dữ liệu mô hình bằng cách nào? Khi tôi làm điều này, tôi luôn nhận được không thể ràng buộc lỗi. –
bạn có thể giải thích? Tôi đang mắc kẹt tại cùng một điểm – desperado06