ColorPicker验证,要求不起作用

时间:2018-12-19 18:54:15

标签: jsf primefaces

起初,我尝试仅使用'required'属性,但是由于似乎从未对其进行过检查,因此我添加了一个非常简单的验证器,用于检查'color'属性的长度...但是似乎没有任何作用。以相同的形式,我还有其他inputText必需的组件,这些组件在按下commandButton时会正确检查。

我有以下代码:

<p:colorPicker id="color" value="#{backBean.color}" required="true"  requiredMessage="Required!" validator="ColorValidator" validatorMessage="Required!"/>

<p:commandButton id="createOrUpdateButton"
                 actionListener="{backBean.createOrUpdate}"
                 process="@form"
                 update="@all"
                 value="Save"
                 style="width: 95%;" />

验证者:

@FacesValidator("ColorValidator")
public class ColorValidator implements Validator{

public ColorValidator(){

}
@Override
public void validate(FacesContext context, UIComponent component, Object value) throws ValidatorException {
    if (value==null || value.toString().trim().isEmpty()) {
      FacesMessage msg = new FacesMessage("Color validation failed.","Please select a color.");
      msg.setSeverity(FacesMessage.SEVERITY_ERROR);
      throw new ValidatorException(msg);
    }
  }

}

1 个答案:

答案 0 :(得分:1)

答案是:根本不支持!

Issue #5887issue #5892 解决了这一问题,并提供了应该包含在PrimeFaces 9.0版中的修复程序。