如何在InputText更改事件上调用jsf验证消息

时间:2016-09-11 06:10:57

标签: validation jsf myeclipse

我一直在尝试这个但没有成功,我想要的是当用户输入一些文本,即数字时,应该检查更改事件,如果错误,则应在h:message标签上显示消息

我的托管Bean名称:首先

**以下代码正在运行,但对于h:commandButton

// XHTML               

     <h:message for="sub" style="color:RED"></h:message>

//managedBean
    private UIComponent input;


    public UIComponent getInput() {
        return input;
    }

    public void setInput(UIComponent input) {
        this.input = input;
    }

public void checkFirstLengthValue(){

if(someValue!=null && !someValue.equals("")){
    int UserEnteredValue=Integer.parseInt(someValue);
    if(UserEnteredValue>dataLength.getEndingLength() || UserEnteredValue<dataLength.getStartingLength()){
        someValue="";


         FacesMessage message = new FacesMessage("Invalid length");
         FacesContext context = FacesContext.getCurrentInstance();
         context.addMessage(input.getClientId(context), message);

    }
    }
}

但我想要这样的东西

   //XHTML
    <h:inputText id="firstlength" binding="#{first.input}" validator="#{first.checkFirstLengthValue()}" onchange="#{first.checkFirstLengthValue()}" value="#{first.someValue}"> 
<f:ajax> event="change" listener="#{first.checkFirstLengthValue()}" </f:ajax>   
          </h:inputText> 
  <h:message for="firstlength" style="color:RED"></h:message>

checkFirstLengthValue()方法与上面所述相同。 所以这可以做到,我正在努力,但它不起作用。如果有其他方法让我知道我想调用managed-Bean,那个方法将调用inputText的h:消息

0 个答案:

没有答案