无法设置必需的selectOneChoice

时间:2014-07-23 04:56:12

标签: java oracle-adf

在我的片段中我有

<af:selectOneChoice value="#{pageFlowScope.loanPurposeBean.loanPurpose.levelPurpose}" contentStyle="width:150px"
    autoSubmit="true" readOnly="#{pageFlowScope.loanPurposeBean.activity=='edit'}"
                      required="true" label="Cấp mục đích vay" id="soc1"
                      valueChangeListener="#{pageFlowScope.loanPurposeBean.valueChangeLevel}">
    <af:selectItem label="1" value="1" id="si10"/>
    <af:selectItem label="2" value="2" id="si5"/>
    <af:selectItem label="3" value="3" id="si6"/>
    <af:selectItem label="4" value="4" id="si3"/>
    <af:selectItem label="5" value="5" id="si9"/>
    <af:selectItem label="6" value="6" id="si8"/>
    <af:selectItem label="7" value="7" id="si4"/>
    <af:selectItem label="8" value="8" id="si1"/>
    <af:selectItem label="9" value="9" id="si2"/>
    <af:selectItem label="10" value="10" id="si7"/>
  </af:selectOneChoice>

  <af:selectOneChoice value="#{pageFlowScope.loanPurposeBean.loanPurpose.loanPurposeParent}"
                      immediate="true"
                      binding="#{pageFlowScope.loanPurposeBean.socLoanPurposeParent}" contentStyle="width:150px"
                       partialTriggers="soc1" readOnly="#{pageFlowScope.loanPurposeBean.activity=='edit'}"
                      label="Mã cha mục đích vay" id="soc2">
    <f:selectItems value="#{pageFlowScope.loanPurposeBean.loanPurposeByLevel}"
                   id="si12"/>
  </af:selectOneChoice>

和我的豆

public void valueChangeLevel(ValueChangeEvent valueChangeEvent) {
    level = (Integer)valueChangeEvent.getNewValue();
    System.out.println("New value level: " + level);
    if (level > 1) {
        socLoanPurposeParent.setDisabled(false);
        socLoanPurposeParent.setRequired(true);
    } else {
        socLoanPurposeParent.setDisabled(true);
        socLoanPurposeParent.setValue("");
    }
    if (level > 0) {
        level = level - 1;
    }
    RequestContext.getCurrentInstance().addPartialTarget(socLoanPurposeParent);

}

如果我选择值为&gt;的级别1,我设置required = true然后我选择level为value = 1并设置required = false但我仍然从selectonechoice soc2获得验证

1 个答案:

答案 0 :(得分:0)

做以下 this.getsoc2()setRequired(真);