Странные атрибуты простых лиц после неудачной проверки - PullRequest
0 голосов
/ 26 мая 2018

У меня странная проблема с PrimeFaces.Я написал форму регистрации, где все поля являются обязательными.Почти каждое поле имеет настраиваемое интернационализированное сообщение конвертера или валидатора.

Существует два сценария ошибок (с AJAX и без):

  • без AJAX :После нажатия кнопки все сообщения валидатора отображаются корректно.Проблема в том, что после неудачной проверки цвет шрифта полей ввода меняется на белый.Вы можете видеть только введенный текст при его выборе.
  • с AJAX : после нажатия кнопки команды все сообщения валидатора отображаются правильно, а цвет шрифта полей не изменяется.Поля ввода являются фокусируемыми.Все работает отлично, за исключением того, что метод слушателя действия не вызывается.

Никаких исключений не выдается.Там нет сообщений об ошибках или тому подобное.Я даже пытался изменить версию PrimeFaces (сейчас я использую 6.1) и использовать форму без каких-либо стилей, контейнеров div в ней и окружающих тегов HTML.Сначала я подумал, что какой-то CSS-div перекрывает форму после проверки, но это не так.

Мой код:

<h:form id="form">
    <p:panelGrid columns="1" styleClass="ui-noborder">
        <!-- MESSAGES -->
        <p:messages id="msgs" closable="true"/>
        <!-- E-MAIL -->
        <h:outputLabel for="email" value="#{msgs.email_label} *"/>
        <p:inputText id="email" name="email" required="true"
                     requiredMessage="#{msgs.email_format_message}" value="#{regCon.email}"
                     validatorMessage="#{msgs.email_format_message}">
            <f:validateRegex
                    pattern="[\w\.-]*[a-zA-Z0-9_]@[\w\.-]*[a-zA-Z0-9]\.[a-zA-Z][a-zA-Z\.]*[a-zA-Z]"/>
        </p:inputText>
        <!-- USERNAME -->
        <h:outputLabel for="username" value="#{msgs.username_label} *"/>
        <p:inputText id="username" name="username" required="true"
                     requiredMessage="#{msgs.username_format_message}" value="#{regCon.username}"
                     validatorMessage="#{msgs.username_format_message}">
            <f:validateRegex pattern="[a-zA-Z][a-zA-Z0-9]{3,15}"/>
        </p:inputText>
        <!-- PASSWORD -->
        <h:outputLabel for="password" value="#{msgs.password_label} *"/>
        <p:password id="password" name="password" required="true"
                    requiredMessage="#{msgs.password_format_message}" match="password_rep"
                    value="#{regCon.password}" validatorMessage="#{msgs.password_format_message}">
            <f:validateRegex
                    pattern="((?=.*[a-z])(?=.*d)(?=.*[A-Z]).{8,40})"/>
        </p:password>
        <!-- REPEAT PASSWORD -->
        <h:outputLabel for="password_rep" value="#{msgs.password_repeat_label} *"/>
        <p:password id="password_rep" name="password_rep" required="true" value="#{regCon.passwordRepeat}"
                    requiredMessage="#{msgs.password_repeat_required_message}"/>
        <!-- FIRSTNAME -->
        <h:outputLabel for="firstname" value="#{msgs.firstname_label} *"/>
        <p:inputText id="firstname" name="firstname" required="true"
                     requiredMessage="#{msgs.firstname_required_message}" value="#{regCon.firstname}">
        </p:inputText>
        <!-- LASTNAME -->
        <h:outputLabel for="lastname" value="#{msgs.lastname_label} *"/>
        <p:inputText id="lastname" name="lastname" required="true"
                     requiredMessage="#{msgs.lastname_required_message}" value="#{regCon.lastname}">
        </p:inputText>
        <!-- PHONE -->
        <h:outputLabel for="phone" value="#{msgs.phonenumber_label} *"/>
        <p:inputText id="phone" name="phone" required="true"
                     requiredMessage="#{msgs.phone_format_message}" value="#{regCon.phoneNumber}"
                     validatorMessage="#{msgs.phone_format_message}">
            <f:validateRegex
                    pattern="\+(9[976]\d|8[987530]\d|6[987]\d|5[90]\d|42\d|3[875]\d|2[98654321]\d|9[8543210]|8[6421]|6[6543210]|5[87654321]|4[987654310]|3[9643210]|2[70]|7|1)\d{1,14}$"/>
        </p:inputText>
        <!-- BIRTHDAY -->
        <h:outputLabel for="birthday" value="#{msgs.birthday_label} *"/>
        <p:inputMask id="birthday" name="birthday" required="true"
                     requiredMessage="#{msgs.birthday_format_message}"
                     value="#{regCon.dateOfBirth}" mask="#{msgs.birthday_mask}"
                     converterMessage="#{msgs.birthday_format_message}">
            <f:convertDateTime pattern="#{msgs.birthday_pattern}"/>
        </p:inputMask>
        <p:commandButton value="#{msgs.registration_button}" styleClass="ui-priority-primary" ajax="false"
                         update=":form:msgs"
                         process=":form:email :form:username :form:password password_rep :form:firstname :form:lastname :form:phone :form:birthday"
                         actionListener="#{regCon.register()}"/>
        <p:commandButton type="reset" value="#{msgs.reset_button}" update=":form:msgs"
                         process=":form:email :form:username :form:password :form:password_rep firstname :form:lastname :form:phone :form:birthday"/>
    </p:panelGrid>
</h:form>

1 Ответ

0 голосов
/ 26 мая 2018

Я решил проблему.Кажется, что-то не так с темой начальной загрузки.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...