1

最初は空h:selectManyListboxで、ページを送信する前に少なくとも 1 つのエントリが含まれている必要があります。そのため、これを確認するための検証を行うことを考えました。で試しました

@Size( min = 1, message = "{validation.emptyDataOptions}" )
private Set< DataOption > dataOptions;

Beanrequired="true" requiredMessage="#{msg.validationEmptyFund}"内およびページ内。

1 つ目は効果がなく、2 つ目はページを送信する前に少なくとも 1 つのエントリを選択した場合にのみ有効です。

私は何かが恋しいですか?h:selectManyListboxaが空でないかどうかのみを確認する可能性はありますか?

コードは次のとおりです。

<td>
  <h:selectManyListbox
    id       = "dataOptions"
    value    = "#{detailModel.selectedDataOptions}" size="5"
    readonly = "#{detailModel.mode == detailModel.viewMode or (detailModel.mode == detailModel.editMode and !loggedUser.hasPermission('CMN backoffice permission id'))}"
    required = "true" requiredMessage="#{msg.validationEmptyFund}"
  >
    <f:selectItems
      value = "#{detailModel.afterObject.dataOptions}"
      var   = "sdo" itemLabel="#{sdo.dataOptionName}" itemValue="#{sdo}"
    />
  </h:selectManyListbox>
  <h:messages for="dataOptions" style="color:red; font-size:12px;" />
</td>
4

0 に答える 0