検証できます p:selectOneMenu
このような:
<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
属性の代わりに属性 value
属性と使い方 value
属性の代わりに属性 <f:selectItems>
.
<p:dataTable id="ActivitiesTable" var="row"
value="#{myBean.rows}"
selection="#{myBean.selectedRow}"
rowKey="#{row.activityId}">
<p:column selectionMode="single"/>
...
</p:dataTable>
ただし、検証オプションが表示されません(例: required
属性) p:dataTable
.
で必要な選択検証を行う方法または回避策はありますか p:dataTable
に似ています required
の属性 p:selectOneMenu
?
環境:Primefaces 5.3、JSF 2.2.8〜14、Tomcat 7.0.68。
回答:
回答№1は1私がprimefacesで知っていることはdatatableにはこの機能がないことですが、あなたはあなたのコードで遊ぶことができます、
私はあなたがあなたの中で同じイベントを行うことができることをお勧めします ManagedBeanしたがって、行が選択されているかどうかを確認できます。そうでない場合は、それ以外の場合は単純なメッセージを作成して、行の選択が必要であることをユーザーに通知します。
public void requiredSelect() {
if (myObject == null) {
FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(
FacesMessage.SEVERITY_ERROR, "Error", "My object is required!"));
}
}