Я хочу создать приложение JSF. Извините за это более амбициозное требование. В приложении у пользователя будет три раскрывающихся списка.
Можем ли мы добавить несколько обязательных условий в один обязательный атрибут?
Если пользователь выбирает страну Мексика / значение 3 из первого раскрывающегося списка, тогда он должен выбрать опцию Канкун / значение 6 из мультиселектора
Также Если он выбирает раскрывающееся значение Континент Северная Америка Он должен выбрать опцию Чика go / значение 2 из мультиселекции
Я добавил обязательный атрибут обязательный для multiSelectListbox для нескольких обязательных параметров, но они не запускаются при выборе раскрывающегося списка
<h:form>
<p:growl id="msgs" showDetail="true" skipDetailIfEqualsSummary="true" />
<p:panel header="Tranfer Destination" style="margin-bottom:10px;">
<h:panelGrid columns="2" cellpadding="5">
<p:outputLabel for="country" value="Country: " />
<p:selectOneMenu id="country" value="#{dropdownView.country}" style="width:150px" required="true" binding="#{country}">
<f:selectItem itemLabel="Select Country" itemValue="" noSelectionOption="true" />
<f:selectItems value="#{dropdownView.countries}" />
<p:ajax update="city"/
</p:selectOneMenu>
<p:outputLabel for="Continent" value="Continent: " />
<p:multiSelectListbox id="continent" value="#{dropdownView.continent}" style="width:150px" required="true" binding="#{continent}">
<f:selectItem itemLabel="Select Continent" itemValue="" noSelectionOption="true" />
<f:selectItem itemLabel="Asia" itemValue="1"> </f:selectItem>
<f:selectItem itemLabel="Europe" itemValue="2"> </f:selectItem>
<f:selectItem itemLabel="South America" itemValue="3"> </f:selectItem>
<f:selectItem itemLabel="North America" itemValue="4"> </f:selectItem>
<f:selectItem itemLabel="Africa" itemValue="5"> </f:selectItem>
<p:ajax update="city"/
</p:multiSelectListbox>
<p:outputLabel for="city" value="City: " />
<p:multiSelectListbox id="city" value="#{dropdownView.city}" style="width:150px" required="#{(not empty param[country.6]) (not empty param[continent.4])}">
<f:selectItem itemLabel="Select City" itemValue="" noSelectionOption="true" />
<f:selectItem itemLabel="New York" itemValue="1"> </f:selectItem>
<f:selectItem itemLabel="Chicago" itemValue="2"> </f:selectItem>
<f:selectItem itemLabel="Seattle" itemValue="3"> </f:selectItem>
<f:selectItem itemLabel="Toronto" itemValue="4"> </f:selectItem>
<f:selectItem itemLabel="Ontario" itemValue="5"> </f:selectItem>
<f:selectItem itemLabel="Cancun" itemValue="6"> </f:selectItem>
<f:selectItem itemLabel="Tijuana" itemValue="7"> </f:selectItem>
</p:multiSelectListbox>
</h:panelGrid>
<p:separator />
<p:commandButton value="Submit" update="msgs" action="#{dropdownView.displayLocation}" icon="pi pi-check" />
</p:panel>
</h:form>
Список стран заполняется из базы данных
ID NAME
1 USA-C
2 Canada-N
3 Mexico-C
Опция Cancun / значение 6 требуется только из третьего выпадающего списка, если пользователь выбирает страну Мексика / значение 3 из первого выпадающего списка.
Опция Chica go / значение 2 требуется только из третьего выпадающего списка, если пользователь выбирает континент Северная Америка / ва из второго выпадающего списка lue 4.
Другие города не обязательны для выбора