fix(dees-input-text, dees-input-iban): enhance validation handling and improve demo for input states

This commit is contained in:
2026-04-12 11:44:59 +00:00
parent 486ec11ce6
commit a0b17132ad
3 changed files with 30 additions and 40 deletions

View File

@@ -54,8 +54,8 @@ export class DeesInputText extends DeesInputBase {
})
accessor validationText: string = '';
@property({})
accessor validationFunction!: (value: string) => boolean;
@property({ attribute: false })
accessor validationFunction!: (value: string) => { valid: boolean; message?: string };
@property({
type: Boolean,
@@ -288,12 +288,21 @@ export class DeesInputText extends DeesInputBase {
}
firstUpdated() {
// Input event handling is already done in updateValue method
if (this.validationFunction && this.value) {
const result = this.validationFunction(this.value);
this.validationState = result.valid ? 'valid' : 'invalid';
this.validationText = result.message || '';
}
}
public async updateValue(eventArg: Event) {
const target: any = eventArg.target;
this.value = target.value;
if (this.validationFunction) {
const result = this.validationFunction(this.value);
this.validationState = result.valid ? 'valid' : 'invalid';
this.validationText = result.message || '';
}
this.changeSubject.next(this);
}