0
は、私はこのようなp:selectOneMenu
を検証することができますPrimefaces dataTableの単一選択の検証
<p:selectOneMenu id="eventTimezoneDropdown"
value="#{myBean.eventTimeZone}"
required="true"
requiredMessage="The TimeZone must be specified."
effect="none">
<f:selectItems value="#{myBean.timeZoneItems}"/>
</p:selectOneMenu>
概念的に言えば、同じ目標を達成する単一の行の選択とp:dataTable
を使用して - それはあなたがselection
属性を使用して1行を選択することができますvalue
属性の代わりに<f:selectItems>
の代わりにvalue
属性を使用します。私はp:dataTable
上の任意の検証オプション(例えばrequired
属性)が表示されないただし
<p:dataTable id="ActivitiesTable" var="row"
value="#{myBean.rows}"
selection="#{myBean.selectedRow}"
rowKey="#{row.activityId}">
<p:column selectionMode="single"/>
...
</p:dataTable>
。
p:selectOneMenu
のrequired
属性と同様のp:dataTable
で必要な選択の検証を行う方法または回避策がありますか?
環境:Primefaces 5.3、JSF 2.2.8-14、Tomcat 7.0.68。そこDataTableのこの機能はありませんが、あなたのコードで遊ぶことができますprimefacesで私が知っている
私はあなたがした後にテストを行うことを示唆していると思う:はい、その後、他のOKあなたは、行の選択がそのように要求されていることをユーザーにnotifie簡単なメッセージを作成することができた場合、行は、選択されたかされていません更新モデル値のフェーズこれは、提出物の中で行うのが容易である。 actionListenerを持つ 'p:commandButton'です。しかし、私は 'p:wizard'に入っていて、標準の検証だけを行う「次へ」ボタンがクリックされたときにそれを行う必要があります。それを行う方法はありますか? – Pixelstix
ウィザードの[次へ]ボタンのイベントを変更しようとしましたが、この例を確認することができます:http://stackoverflow.com/questions/17995208/repositioning-nav-buttons-in-pwizardまたはこれも役立ちます:http: //www.journaldev.com/3415/primefaces-wizard-component-example-tutorial –
これは私にいくつかの成功をもたらしますが、完全ではありません。不利な点は、 'flowListener'にメッセージを追加することは、他のすべての検証が成功した場合にのみエラーメッセージが表示されることです。これは、ユーザーが一連の検証エラーを受け取り、修正して送信し、 'dataTable'の追加のエラーメッセージを受け取った場合には、厄介な動作をします。 – Pixelstix