首页 > 解决方案 > ColorPicker 验证和要求不工作

问题描述

起初我尝试只使用“必需”属性,但由于它似乎从未被检查过,所以我添加了一个非常简单的验证器来检查“颜色”属性的长度......但似乎没有任何效果。在相同的表单中,我还有其他 inputText 所需的组件,当我按下命令按钮时,这些组件已正确检查。

我有以下代码:

<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);
    }
  }

}

标签: jsfprimefaces

解决方案


答案是:根本不支持!

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


推荐阅读