2016-06-15 3 views
0

У меня есть форма в AEM. Когда кнопка отправки нажата, управление переходит к forward.jsp. Я сделал некоторые проверки в forward.jsp и хотел бы генерировать на оповещении на странице после подтверждения проверки. Как передать предупреждение на страницу?AEM: отобразить окно предупреждения после проверки на стороне сервера

if(condition){ 
    // validation success 
} else{ 
    // code for alert 
} 

FormsHelper.redirectToReferrer(slingRequest, slingResponse); 

ответ

0

Если вы хотите, чтобы сделать проверки на стороне сервера, но показать уведомление на стороне клиента, я рекомендую использовать JavaScript, чтобы сделать вызов AJAX. Вы можете изменить кнопку отправки, чтобы при нажатии на нее запускался вызов AJAX вместо отправки формы. См. http://api.jquery.com/jquery.ajax/ для описания того, как это можно сделать с помощью jQuery, но другие параметры также будут работать для создания запроса AJAX.

В ответе на этот запрос AJAX вы можете разместить тотализатор, в котором вы нуждаетесь. Это может быть код состояния, строка JSON или фрагмент HTML. Затем вы будете писать JavaScript на стороне клиента для обработки ответа и делать все, что подходит на основе данного ответа - например, показывать предупреждение на странице.

Примером такого рода подхода, если смотреть на http://michaelsoriano.com/how-to-ajax-validate-forms/

0

Эта тема является более сложным, что вы могли бы подумать. В основном вы можете увидеть пример реализации в базовых компонентах, таких как /libs/foundation/components/form/text/text.jsp. Все они используют метод com.day.cq.wcm.foundation.forms.LayoutHelper # printErrors, чтобы проверить, являются ли они ошибками в поле. Это происходит по классу com.day.cq.wcm.foundation.forms.ValidationInfo, который устанавливается как атрибут запроса для передачи состояния поля между различными классами. Вы также можете проверить класс com.day.cq.wcm.foundation.forms.FieldHelper, который фактически выполняет проверку. Помещение какой-то логики в forward.jsp является неправильным способом

Смежные вопросы