を使用したいのです<p:calendar>
が、ユーザーが以前に入力した値をクリアできるようにする方法が見つからないようです。たとえば、「すべて選択」と「バックスペース」を使用して入力のみをクリアすると、検証 (変換) エラーが発生します。さらに複雑なことに、入力フィールドにも jQuery マスク「99/99/9999」を配置しました。
ユーザーがウィジェットで日付を選択または入力<p:calendar>
できるようにし、最も重要なこととして、必要に応じて入力をクリアできるようにすることは可能ですか?
繰り返しになりますが、ユーザーは手動で、または日付ピッカーを使用して日付値を入力できる必要があります。
これまでのところ、jquery 日付マスク、つまり、__/__/____
ユーザーが入力の上に単純にスペースを入れることができないことに関連しているように見えます...つまり、送信ボタンを押すと、手動で入力された元の値が単に再表示されます。-- 残念ながら、ユーザーが日付を手動で入力する際の正しい入力形式をガイドするために、日付入力マスクを提供する必要があります。
ウィジェットがどのように見えるかの例を次に示します。
<p:calendar
pattern="MM/dd/yyyy"
widgetVar="birthDate_var"
id="birthDate"
requiredMessage="birth date required"
validatorMessage="invalid birth date "
converterMessage="invalid birth date format"
readonly="false"
readonlyInput="false"
navigator="true"
showOn="button"
value="#{testBean.parmMap['birthDate']}"
size="10"
maxlength="10"
yearRange="c-120:c+0"
onfocus="$('#queryForm\\:msgs > div').hide();$('#queryForm\\:msgs > div').eq(1).show();$(this).mask('99/99/9999');return false;">
<p:ajax event="dateSelect" listener="#{testBean.updateBirthDate}" process="@this" />
<p:ajax event="change" listener="#{testBean.updateBirthDate}" process="@this" />
</p:calendar>
どうすればこれを達成できますか?Mojarra 2.1.11 と PrimeFaces 3.4.2 を使用しています。