0

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 を使用できますが、送信時ではなくユーザーが値を入力するため、入力を制限したいと思います。

4

1 に答える 1

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" />

そうすれば問題は解決すると思います。([YN] を [YN] に変更する必要があるかもしれません。それについてはよくわかりません *)

それにもかかわらず、私が使用するアプリでは、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) があります。よく働く。

于 2012-07-18T15:38:46.753 に答える