Validation 提交零时JSF2值无效

Validation 提交零时JSF2值无效,validation,jsf-2.2,Validation,Jsf 2.2,我已经读过很多关于这个JSF2验证错误的帖子,但不明白为什么会发生这种情况。 My select items是一个列表,其中ListItem是一个POJO,包含两个字符串字段:key和value。当我选择值为“0”的“选择项”选项提交页面时,出现以下错误:验证错误:值无效 要提交的值绑定到一个int。这是ListItem中的equals方法,但我对此方法有一个调试点,它似乎没有命中,因此我看不出这是否是问题所在: public boolean equals(Object other) {

我已经读过很多关于这个JSF2验证错误的帖子,但不明白为什么会发生这种情况。 My select items是一个列表,其中ListItem是一个POJO,包含两个字符串字段:key和value。当我选择值为“0”的“选择项”选项提交页面时,出现以下错误:验证错误:值无效

要提交的值绑定到一个int。这是ListItem中的equals方法,但我对此方法有一个调试点,它似乎没有命中,因此我看不出这是否是问题所在:

public boolean equals(Object other)
{
    if (other == null || !(other instanceof ListItem))
        return false;
    ListItem otherLI = (ListItem) other;
    return otherLI.key.equals(key);
}

有什么想法吗?

在UISelectOne validateValue方法中进行一些调试后,似乎已经解决了这个问题,当提交的值作为整数对象为0时,SelectUtils.ValueIsNoSelection选项似乎返回true

我的选择如下:

<f:selectItem noSelectionOption="true" itemLabel="Please Select" itemValue="" />

将itemValue更改为#{null}后,它似乎工作正常

<f:selectItem noSelectionOption="true" itemLabel="Please Select" itemValue="#{null}" />