Валидатор aui не работает при отправке формы в liferay

У меня есть простая форма с некоторым полем, я просто хочу проверить свое поле на стороне клиента, поэтому я использую и работаю над событием размытия.

проблема в том, что когда я отправляю форму, отображается сообщение об ошибке, и форма отправляется

Я пытаюсь проверить отправку формы, но как я могу узнать, какая проверка не удалась

<aui:form name="myForm" action="<%=uploadPromotionURL %>" method="post" enctype="multipart/form-data">
<aui:input name="promotionName"  label="Promotion Name">
    <aui:validator name="required" errorMessage="This field can not be empty"/>
</aui:input>
<aui:input name="promotionDesc" label="Promotion Description"/>

<aui:input type="file" name="offerImages" label="Promotion Image" multiple="multiple" accept="image/*" onchange="setUploadSize(this)">
    <aui:validator name="acceptFiles">'jpg,png,tif,gif,jpeg'</aui:validator>
    <aui:validator name="required" errorMessage="Please chhose offer"/>
    <aui:validator name="custom" errorMessage="File size should not be more than 5Mb">
                        function(val,node,junction){
                            if(uploadSize==true){
                                return true;
                            }else{
                                return false;
                            }
                        }
                    </aui:validator>
</aui:input>

    <aui:select label="Promotion Assignment" id="promotionAssignmentId"
        helpMessage="Choose options" name="promotionAssignment"
        multiple="true">
        <c:forEach var="client" items="${clientList}">
            <aui:option value="${client.key}">${client.value }</aui:option>
        </c:forEach>
        <aui:validator name="required"
            errorMessage="Please Select At least One Client " />
    </aui:select>

    <aui:button type="submit" name="submit" value="submit" />

3 метода стилизации элементов HTML
3 метода стилизации элементов HTML
Когда дело доходит до применения какого-либо стиля к нашему HTML, существует три подхода: встроенный, внутренний и внешний. Предпочтительным обычно...
Стилизация и валидация html-формы без использования JavaScript (только HTML/CSS)
Стилизация и валидация html-формы без использования JavaScript (только HTML/CSS)
Будучи разработчиком веб-приложений, легко впасть в заблуждение, считая, что приложение без JavaScript не имеет права на жизнь. Нам становится удобно...
Введение в технологический стек Twitch
Введение в технологический стек Twitch
В этой статье мы подробно рассмотрим стек Twitch, который подразделяется на следующий набор технологий:
8 полезных HTML-тегов, которые лучше использовать вместо <div>
8 полезных HTML-тегов, которые лучше использовать вместо <div>
Когда я только начинал изучать html, я использовал div для всего, это был один из первых тегов, которые я выучил, и казалось, что он работает в любой...
HTML5: API локального хранилища (Local Storage)
HTML5: API локального хранилища (Local Storage)
LocalStorage - это простой способ хранения данных в браузере пользователя.
Доступность HTML - программирование с инклюзивной перспективой
Доступность HTML - программирование с инклюзивной перспективой
Представьте, что вы хотите поехать на пляж. Представьте, что вы упорно трудились весь год и заслужили это. Прибыв на место, вы обнаруживаете, что...
0
0
1 274
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Используйте только <aui:validator> в качестве тела тегов <aui:input>. Для других тегов существуют другие подходы.

Если вам нужна только обязательная проверка поля для раскрывающегося списка, я бы посоветовал вам использовать атрибут required="true" на вкладке <aui:select>. Это приведет к отображению сообщения This field is required по умолчанию.

Если вам нужно собственное сообщение об ошибке, вам придется использовать <aui:script> для проверки формы:

<aui:script use="aui-form-validator">
    new A.FormValidator({
        boundingBox: $("<portlet:namespace />myForm"),
        rules: {
            <portlet:namespace />promotionAssignment: {
                required: true
            }
        },
        fieldStrings: {
            <portlet:namespace />promotionAssignment: {
                required: 'Please select at least one client'
            }
        }
    });
</aui:script>

Вот несколько ссылок на валидации Liferay: https://community.liferay.com/forums/-/message_boards/message/17517133http://www.liferaysavvy.com/2014/01/form-validation-in-liferay.html

Другие вопросы по теме