【发布时间】:2016-08-15 17:57:20
【问题描述】:
我有一个带有验证器的自动完成功能 - 如果我向自动完成功能提交一个“AAA”查询,那么我会得到一个以“AAA”开头的建议列表。我选择了“AAA001”,然后调用了验证器,但在验证器中,当我预期为“AAA001”时,值是“AAA”。
这是我的代码:
<p:autoComplete id="codeAutoComplete"
completeMethod="#{BEAN.autoCompleteCode}"
minQueryLength="3" forceSelection="true"
value="#{OBJECT.code}"
validator="#{BEAN.validateCode}" >
<f:attribute name="object" value="#{OBJECT}" />
<p:ajax listener="#{BEAN.onCodeSelect}"
update="form"/>
</p:autoComplete>
代码只是一个带有 getter 和 setter 以及我的验证器的字符串:
public void validateCode(FacesContext ctx, UIComponent component, Object value) {
String code = (String) value;
...
}
立即编码 = 'AAA' 而不是预期的 'AAA001'。我添加了对象属性只是为了确保尚未在对象上设置“AAA001”,但正如预期的那样,它没有。
我可以做些什么来获取所选值而不是提交的值?
谢谢
【问题讨论】:
标签: jsf primefaces autocomplete