Primefaces拡張機能のkeyfilterに関して問題が発生しました。「P1Y3M2W1d」のように、ある期間の正規表現を定義したいと思います。キーフィルターには、次の正規表現が使用されます。
<pe:keyFilter regEx="/P[0-9]*Y*[0-9]*M*[0-9]*W*[0-9]*d*/" />
目標は、ユーザーが最初にPを入力し、次に0〜9の数字を入力し、その後Y(年)、M(月)、またはW(週)などを入力することです。問題は、キャピタルPしか入力できず、他には何も入力できないことです。正規表現を確認します。合ってます。keyFilterの正規表現の問題は何ですか?手伝ってくれてありがとう!!!
アップデート:
<p:inputText value="#{cc.attrs.value}" id="period" >
<pe:keyFilter regEx="/P([0-9]+Y)?([0-9]+M)?([0-9]+W)?([0-9]+d)?/" />
</p:inputText>
primefaces拡張機能はjquerykeyfilterプラグインを使用していると思います。正規表現は「//」の前後で引用する必要がありますが、どういうわけか私のUIでの唯一の可能性はキャピタルPです