In my model,
[‘account’, ‘required’]
I have used activeform, in my form,
In IBAN widget, I have first created the field and then added an ajax call which help to add validation on the account field.
$js = <<<JS
(function(){
$.ajax({
url: openIbanBaseUrl + encodeURIComponent(iban) +‘?getBIC=true’,
method: ‘GET’,
dataType: ‘json’,
success: function(data) {
resetValidation();
try {
if (data.valid && (!isEmptyOrNull(data.bankData.bic) || isBICExcluded)) {
$input.addClass(‘is-valid’).removeClass(‘is-invalid’);
} else {
$input.addClass(‘is-invalid’).removeClass(‘is-valid’);
$feedback.text(messages.invalid).show();
}
} catch (error) {
console.error(‘Error processing response:’, error);
$input.addClass(‘is-invalid’).removeClass(‘is-valid’);
$feedback.text(messages.invalid).show();
}
},
error: function() {
resetValidation();
$input.addClass(‘is-invalid’);
$feedback.text(messages.error).show();
}
});
})();
JS;
On form submit, the widget validation gets overridden by model validation.