Expand my Community achievements bar.

Dive into Adobe Summit 2024! Explore curated list of AEM sessions & labs, register, connect with experts, ask questions, engage, and share insights. Don't miss the excitement.
SOLVED

AEM Forms - Adding a class to field error

Avatar

Level 7

Hi,

I have to override the div for error message on my form fields. I can see that the div is appended in the guideruntime.js markError function.

To override this my thoughtw were to:

* use the guidebridge event listener for validation complete

* remove the ootb div

* Add my custom div

My div is added but it appears that validation complete is actually called before the error is added to the DOM.

* Is there another listener that could be used?

* Or another approach to achieve the same result in javascript

Thanks,

James

1 Accepted Solution

Avatar

Correct answer by
Level 7

In the end I ended up adding a mutataion observer listening for changes on each field added via guidebridge visit.

When the OOTB error message is added, I remove it.

Then in the guidebridge on elementValidationStatusChanged listener I add/remove my custom div.

Not ideal, but it works.

Thanks,

James

View solution in original post

7 Replies

Avatar

Employee Advisor

Hi James,

I will test this once and let you know.

Avatar

Employee Advisor

Hi James,

I didn't replace the OOTB div but intercepted it using JS and updated the text inside.

guideBridge.validate(radiobutton);

var Children  = document.getElementById('guideContainer-rootPanel-panel1392575902787-guideradiobutton__').children;

Children[2].innerHTML='New Test error';

guideContainer-rootPanel-panel1392575902787-guideradiobutton__  is my radio group div id.

1611115_pastedImage_0.png

Avatar

Level 7

Great! I shall give this a go tomorrow.

But I suspect it is what I am after 

Thanks,

James

Avatar

Correct answer by
Level 7

In the end I ended up adding a mutataion observer listening for changes on each field added via guidebridge visit.

When the OOTB error message is added, I remove it.

Then in the guidebridge on elementValidationStatusChanged listener I add/remove my custom div.

Not ideal, but it works.

Thanks,

James

Avatar

Employee Advisor

Hi James,

Wasn't validateExpMessage helpful in such a case?

1620766_pastedImage_1.png

Avatar

Level 7

Unfortunately that will only change the text of the error. The html and styling of my errors messages are very particular . Different number of divs different classes etc