У меня очень странная проблема.
Требуемая проверка внутри таблицы данных прекрасно работает, если я работаю напрямую с исходными компонентами, например:
<ice:inputText id="inputTextt" field="#{bean[fieldValue]}" required="true"/>
<ice:message for="inputTextt"></ice:message>
вызовет необходимое сообщение, когда я нажму кнопку, чтобы отправить форму.
Ну, у меня есть пользовательский компонент gra: inputTextValidated , куда я помещаю те же самые вещи, но немного более сложные:
<ice:inputText
id="#{id}"
value="#{bean[field]}"
rendered="#{rendered and empty validatorBean}"
styleClass="#{styleClass} #{not required ? 'graNotRequired':''}"
style="width: #{width};height:#{height}"
partialSubmit="#{partialSubmit}"
disabled="#{disabled}"
required="#{required}">
</ice:inputText>
<ice:message
styleClass="graValidationMessage graNotRequired"
for="#{id}" />
так что теперь из данных я называю свой компонент следующим образом:
<gra:inputTextValidated
id="inputText"
bean="#{bean}"
field="#{fieldValue}"
renderLabel="false"
required="true"
disabled="#{disabled}"
width="90%"
height="#{secondTabComponentsHeight}"
>
</gra:inputTextValidated>
Теперь сообщение проверки больше не появляется . Компонент gra: inputTextValidated работает нормально, значение отображается, поэтому проблема только в проверке.
Я потратил около 3 часов на это и Я очень уверен, что это что-то с идентификаторами , так или иначе, для атрибута льда: сообщение неправильно видит мой вводимый текст из пользовательского компонента но он там, отображается как спам).
Есть ли у вас какие-либо предложения?