diff --git a/src/lib/inputs/details-radio/details-radio-option.ts b/src/lib/inputs/details-radio/details-radio-option.ts index 7d6d242..b42353c 100644 --- a/src/lib/inputs/details-radio/details-radio-option.ts +++ b/src/lib/inputs/details-radio/details-radio-option.ts @@ -12,6 +12,7 @@ interface AdditionalCheck extends AdditionalField { interface AdditionalInput extends AdditionalField { value: string; placeholder?: string; + errorCode?: string; } export interface DetailsRadioOption { diff --git a/src/lib/inputs/details-radio/details-radio.component.html b/src/lib/inputs/details-radio/details-radio.component.html index 2ccf97a..ef30e90 100644 --- a/src/lib/inputs/details-radio/details-radio.component.html +++ b/src/lib/inputs/details-radio/details-radio.component.html @@ -43,11 +43,12 @@ } @if (option.additionalInput) { -
+
{{ option.additionalInput.label | translate }}
implements ControlValueAccessor, Validator { +export abstract class FormFieldComponent implements ControlValueAccessor, Validator, OnInit { touched = false; disabled = false; protected readonly _changeRef = inject(ChangeDetectorRef); + protected readonly _injector = inject(Injector); + protected _formControl: FormControl | undefined; protected _value: I | undefined; get value(): I | undefined { return this._value; } + ngOnInit() { + const ngControl = this._injector.get(NgControl); + + if (ngControl instanceof FormControlName) { + this._formControl = this._injector.get(FormGroupDirective).getControl(ngControl); + } else { + this._formControl = (ngControl as FormControlDirective).form as FormControl; + } + } + + hasError(errorCode: string | undefined): boolean { + if (errorCode && this._formControl) { + return this._formControl.hasError(errorCode); + } + return false; + } + // eslint-disable-next-line no-unused-vars, @typescript-eslint/no-unused-vars onChange = (value?: I) => {};