2017-08-16 220 views
1

消息的在场组件我打算验证字段usernameTxt在形式上与下面引导,具有参考BalusC answerAleksei Loginov answer条件呈现来自特定对象

<div class="form-group"> 
       <label class="control-label col-sm-2" for="usernameTxt">Fullname(*):</label> 
       <div class="col-sm-10"> 
        <h:inputText type="text" class="form-control" id="usernameTxt" 
         a:placeholder="Enter your name" required="true" 
         requiredMessage="Fullname is required" 
         value="#{data.personalInformation.username}"></h:inputText> 
        <h:panelGroup layout="block" rendered="#{not empty facesContext.getMessageList('usernameTxt')}" class="alert alert-danger"> 
         <h:message for="usernameTxt"></h:message> 
        </h:panelGroup> 
       </div> 
      </div> 

的愿望是,如果输入文本为空,则它将使块<h:panelGroup>,结果应该是像 enter image description here

(即照片是当我除去在的not条件财产)。我无法使条件呈现的块正确。渲染条件中是否有任何语法,或者我在这里丢失了什么?

+0

请仔细阅读本:https://stackoverflow.com/questions/14790014/ajax-update-render-does -not功上-A-组件,其-已渲染属性 – Kukeltje

回答

1

问题解决了。

我花了一整天的时间来找出实际usernameTxt ID页面上已经呈现,它不是像我想象的

enter image description here

所以我必须要改变的条件回

<h:panelGroup layout="block" 
         rendered="#{not empty facesContext.getMessageList('form:j_id_9:useridTxt')}" 
         class="alert alert-danger"> 
         <h:message for="useridTxt"></h:message> 
        </h:panelGroup> 

,它解决了我的问题