Обойти проверку бина в JSF2? - PullRequest
2 голосов
/ 14 мая 2011

Мне интересно, возможно ли обойтись без валидаторов бина для определенных действий в JSF2.

Я сгенерировал сущности из своей схемы БД, используя NetBeans 7, который включает атрибуты проверки.

В моем приложении JSF у меня есть экран поиска, в котором компонент поддержки использует экземпляр объекта для хранения параметров запроса пользователя.Затем я использую отражение на экземпляре объекта, чтобы сгенерировать динамический запрос для выполнения поиска пользователя.Как только пользователь выполняет поиск, он может выбрать элемент и перейти на страницу редактирования, где я хочу, чтобы проверка была принудительной.

Моя проблема в том, что на экране поиска выполняется проверка бина на моей сущности.Поэтому, если у моей сущности есть 3 обязательных поля, и пользователь ищет только 1 из 3, я получаю два сообщения об ошибке «поле обязательно для заполнения».

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

Ответы [ 2 ]

4 голосов
/ 14 мая 2011

Вы можете добавить f: validateBean с disabled = "true" в свою первую форму, где вы не хотите, чтобы они были проверены, а затем не включать ее в представление, где вы делаете:

<h:inputText value="#{entity.property}">
   <f:validateBean disabled="#{true}"/>
</h:inputText>
2 голосов
/ 31 августа 2011

для меня в icefaces не работал так: я должен был:

 <f:validateBean disabled="true" >
       <ice:outputText value="#{messages['busqueda.bodega.tabla.datos.etiqueta.nombre']}"/>   <ice:inputText" value="#busquedaBodegaBean.busquedaBodegaBB. bodegaCriterio.nombre}">
     </ice:inputText>
    </f:validateBean>
...