主要面的InputTextarea不应用maxlength

时间:2012-01-10 13:07:29

标签: jsf primefaces

我正在使用<p:InputTextarea />这样的标签

<p:inputTextarea id="description" required="false"
    label="description" maxlength="255" tabindex="3"
    rendered="#{basicSetupController.description}" validatorMessage="Maximum allowable length for description is 255"
    value="#{basicSetupController.basicSetupBean.description}">
    <f:validateLength minimum="0" maximum="255" />
</p:inputTextarea>

我遇到的问题是,在输入255个字符后,主要面孔不会限制用户。用户输入他/她想要的任意数量的字符。虽然validateLength标记工作正常,但客户端的要求是用户不能输入超过255个字符。

请问好吗?

2 个答案:

答案 0 :(得分:1)

尝试:

<script type="text/javascript">
     function validate()
     {
       var x=document.getElementById("form:text").value;
       if(x.length > 255) {
          document.getElementById("form:text").value=x.substring(0,255);
       }

     }
</script>

 <h:form id="form">

         <h:inputText id="text" onkeyup="validate()" />

 </h:form>

答案 1 :(得分:0)

嗯,这个问题已经在后来的版本中得到了解决。无需<f:validateLength>。 Primefaces本身限制用户输入的内容超过maxLength set

<p:inputTextarea id="details" maxlength="20">
            </p:inputTextarea>

现在效果很好。