我正在使用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>
我仍然无法让脚本运行
答案 0 :(得分: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/
答案 1 :(得分: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;
}
如果您只需要验证一个字段。