feat(input-text): add validated success state and text editing context menu to text inputs
This commit is contained in:
@@ -50,6 +50,16 @@ export class DeesInputIban extends DeesInputBase<DeesInputIban> {
|
||||
.disabled=${this.disabled}
|
||||
.required=${this.required}
|
||||
.placeholder=${'DE89 3704 0044 0532 0130 00'}
|
||||
.validationFunction=${(value: string) => {
|
||||
const normalized = value.replace(/ /g, '');
|
||||
if (normalized.length === 0) {
|
||||
return { valid: true, message: '' };
|
||||
}
|
||||
const isValid = ibantools.isValidIBAN(normalized);
|
||||
return isValid
|
||||
? { valid: true, message: 'IBAN is valid' }
|
||||
: { valid: false, message: 'Please enter a valid IBAN' };
|
||||
}}
|
||||
@input=${(eventArg: InputEvent) => {
|
||||
this.validateIban(eventArg);
|
||||
}}
|
||||
@@ -81,19 +91,6 @@ export class DeesInputIban extends DeesInputBase<DeesInputIban> {
|
||||
}
|
||||
}
|
||||
this.enteredIbanIsValid = ibantools.isValidIBAN(this.enteredString.replace(/ /g, ''));
|
||||
const deesInputText = this.shadowRoot!.querySelector('dees-input-text') as any;
|
||||
if (deesInputText) {
|
||||
if (this.enteredIbanIsValid) {
|
||||
deesInputText.validationState = 'valid';
|
||||
deesInputText.validationText = 'IBAN is valid';
|
||||
} else if (this.enteredString.length > 0) {
|
||||
deesInputText.validationState = 'invalid';
|
||||
deesInputText.validationText = 'Please enter a valid IBAN';
|
||||
} else {
|
||||
deesInputText.validationState = undefined;
|
||||
deesInputText.validationText = '';
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public getValue(): string {
|
||||
|
||||
Reference in New Issue
Block a user