我想将inputText中的输入限制为Y或N.以下是我的想法。这是正确的方式还是更好的方法?
<p:inputText value="#{myBean.field}" id="myID" title="Enter Y or N"
onkeypress ="if(!(event.keyCode == 89 || event.keyCode == 78)) event.keyCode=null;" />
<p:tooltip for="myID" showEvent="focus" hideEvent="blur" />
可以使用validateRegex,但我希望在用户输入值时限制输入,而不是提交。
答案 0 :(得分:2)
您也可以使用验证器作为用户输入,这样:
<p:inputText id="idfield" value="#{myBean.field}"
validatorMessage="Only Y or N">
<f:validateRegex pattern="[Y N]*" />
<p:ajax update="msg" event="keyup" />
</p:inputText>
<p:message for="idfield" id="msg" display="icon" />
我认为你会以这种方式解决你的问题。 (您可能需要为[Y N]更改[Y N] *,因为我不确定*)
然而,在我的应用程序中,我使用Y或N:
<p:selectOneRadio id="sor"
value="#{myBean.value}">
<f:selectItem itemLabel="Y" itemValue="Y" />
<f:selectItem itemLabel="N" itemValue="N" />
</p:selectOneRadio>
在数据库上也使用char(1)。效果很好。