0

我正在使用 JSF,我有一个 h:inputText 文本框,

<h:form>
                    Please enter your username:
                    <h:inputText value="#{user.id}"/><br/><br/>

我希望当用户按下提交按钮时,

<h:commandButton value="Submit" action="upload/uploadText"/>

用于检查输入文本框中是否输入了值并且长度超过 6 个字符

我该怎么做?

我试过的代码:

<script type="text/javascript"> 

        function required(){  
            if (document.getElementById("Username").value.length == 0)  
            {   
                alert("message");        
                return false;   
            }       
            return true;   
        }

    </script> 

有了这个 :

<h:body>

                <h:form onsubmit="return required();">
                    Please enter your username:
                    <h:inputText id="Username" value="#{user.id}">
                    </h:inputText><br></br><br></br>

                    To print a piece of text, please press the submit button below to upload the text:<br/><br/>
                    <h:commandButton type="submit" value="Submit" action="upload/uploadText"/>
                </h:form>

            </h:body>

我仍然无法让脚本运行

4

2 回答 2

3

由于您使用的是 JSF,因此您应该尽可能坚持使用 JSF 验证。

<h:inputText id="Username" value="#{UserBean.userName}">
  <f:validateLength minimum="6" maximum="15"/>
</h:inputText>

几个链接

http://viralpatel.net/blogs/javaserver-faces-jsf-validation-tutorial-error-handling-jsf-validator/

http://www.mkyong.com/jsf2/customize-validation-error-message-in-jsf-2-0/

于 2012-12-24T17:50:53.313 回答
2

您需要在代码中更改=<<=

我不知道 JSF 语法,但您可以尝试更改这三个区域:

<h:inputText name="myTextField" id="myTextField" /><br/><br/>

<h:form onsubmit="return required();">

function required(){  
     if (document.getElementById("myTextField").value.length <= 6)  
      {   
         alert("message");        
         return false;   
      }       
      return true;   
}

如果您只需要验证一个字段。

于 2012-12-24T17:40:11.037 回答