我有<af:selectOneChoice>
immediate=true
和autoSubmit=true
,<af:inputText>
rendered=#{bean.someValue}
,required=true
和immediate=true
。
当我从choice 1
选择<af:selectOneChoice>
时,bean.someValue
为false,因此不会呈现<af:inputText>
。当我从choice 2
中选择<af:selectOneChoice>
时,bean.someValue
为真,因此会呈现<af:inputText>
。
测试用例:最初,choice 1
中选择了<af:selectOneChoice>
,因此未呈现<af:inputText>
。当我在choice 2
中选择<af:selectOneChoice>
时,<af:inputText>
会被渲染并变为可见。当我再次在choice 1
中选择<af:selectOneChoice>
时,页面会抛出错误Enter a value
,但<af:selectOneChoice>
的值会更改为choice 1
。
在这种情况下,我希望<af:selectOneChoice>
的值应该还原为choice 2
。
怎么做?
答案 0 :(得分:0)
我对你的测试用例感到有些困惑,所以你说当inputText为空时,你将selectOneChoice更改为选择1,并且因为你的inputText“required”属性被设置为true,所以ADF抛出一个视觉错误提醒你“输入一个值”,直到现在一切都是你所期望的,对吗?但是虽然错误消息msg弹出,selectOneChoice仍然要改为选择1,这是问题吧?
我想在错误情况下阻止selectOneChoice值更改为选项1,您可以在后端bean的selectOneChoice组件的valueChangeListener中添加一些验证代码,以决定是否应该更改该值。