XPAges验证组合框

时间:2014-09-29 19:03:30

标签: validation xpages xpages-ssjs

我创建了一个标准的xp:comboBox并用公司列表填充它,所以组合框的值看起来像这样:

  • 选择A公司 - 公司a 公司B. 等

所以组合的初始值是 - 选择A公司 - 所以我尝试根据Mastering XPages第116页中给出的示例创建自定义验证器

<xp:this.validators>
    <xp:customValidator>
        <xp:this.validate><![CDATA[#{javascript:if (value == "- Select A Company -"){
    return new javax.faces.application.FacesMessage("Select a Company from the List Provided.");
}}]]>
        </xp:this.validate>
    </xp:customValidator>
</xp:this.validators>

验证器似乎没有触发。我有几个其他简单的必需的firlds,他们都按预期工作。这是一个comboBox问题还是我错过了代码中的内容?

将此添加到输入框中,它也不起作用:

<xp:this.validators>
    <xp:customValidator>
        <xp:this.validate><![CDATA[#{javascript:if (value != "ABC"){
    return new javax.faces.application.FacesMessage("Value Must be ABC.");
}}]]>
        </xp:this.validate>
    </xp:customValidator>
</xp:this.validators>

1 个答案:

答案 0 :(得分:1)

只有在定义了必需的验证程序时才会触发自定义验证程序。 如果你想要一个&#34; required&#34;验证器被解雇你只需要添加另一个值为

的公式值项
return "";

作为定义中的第一个值项目。