2014-02-14 2 views
1

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

styleClass="#{component.valid ? 'reportInput' : 'reportInput_invalid'}" 

и подсказка используются для отображения сообщения об ошибке в следующем

<p:tooltip for="inputFieldId"> 
    <p:message for="inputFieldId" /> 
</p:tooltip> 

Everything работает, как и ожидалось, но я хочу улучшить пользовательский интерфейс и хочу ввести чистое подтверждение на стороне клиента, используя

<p:clientValidator /> 

Я попытался это, но он не работал, когда ONBLUR событие вызывается на InputField я получил следующую ошибку JS

'null' is Null or no Object 
in validation.js.jsf and the line code is 
d.data("uiMessageId",b.attr("id")) 

Можно ли достичь?

Пример моего входного поля:

<p:inputText id="bic" 
styleClass="#{component.valid ? 'reportInput' : 'reportInput_invalid'}" 
value="#{bean.bic}" 
required="true" requiredMessage="Field value is required" > 
    <p:watermark for="bic" value="CMHJKLIL" /> 
    <pe:keyFilter regEx="/[a-z0-9]/i" /> 
    <f:validateLength minimum="8" /> 
    <p:clientValidator/> 
</p:inputText> 

Я использую Primefaces 4 со следующей Maven зависимости

<dependency> 
     <groupId>org.primefaces</groupId> 
     <artifactId>primefaces</artifactId> 
     <version>4.0</version> 
    </dependency> 

Вот как это выглядит в JSF страницы головной секции enter image description here

Вот файл validation.js, который используется validatuion.js here

+0

Просьба указать код, в котором вы используете ''. Без кода мы не можем вам помочь. –

+0

Я добавил код для одного поля ввода. – user3027786

+0

Вы используете '', но я не вижу никакого свойства 'mask'. Вы уверены, что хотите использовать '', а не ''? ** Редактировать **: Я думаю, вы внесли изменения. –

ответ

0

У меня была такая же ошибка.

похоже, что код validator.js ищет контейнер сообщений, прикрепленный к полю, и, если его не найти, он ищет один в ближайшей форме «e.findUIMessage (a, d.closest (« form »)) .find («div.ui-message»)) «

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

+0

как пример: Javier

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