1

这可能很简单我正在尝试添加基于另一个字段的验证在公式语言中:@If(Desinfect_1 = "" & Desinfect = "Désinfection de chambre" ;@Failure("Veuillez cocher départ ou levée");@成功)

在 Xpages 中,我尝试了验证表达式:

<xp:inputText value="#{document1.chambre}" id="chambre1">
<xp:this.rendered><![CDATA[#{javascript:getComponent ("Desinfect1").getValue() ==    "Désinfection de chambre"}]]></xp:this.rendered>
<xp:this.validators>
<xp:validateExpression
message="err">
<xp:this.expression><![CDATA[#{javascript:if (GetComponent ("Desinfect1").getValue() == "Désinfection de chambre" & GetComponent ("Chambre1").getValue() == ""){
return false;
} 
else {
return true;
}}]]></xp:this.expression>
</xp:validateExpression>
</xp:this.validators>
</xp:inputText>
4

2 回答 2

2

当您在 javascript 中执行 AND 的逻辑运算符时,您必须使用 &&

<xp:this.validators>
    <xp:validateExpression message="err">
        <xp:this.expression> 
            <![CDATA[#{javascript: if (getComponent("Desinfect1").getValue() == "Désinfection de chambre" && getComponent("Chambre1").getValue() == ""){ return false; } else { return true; }}]]> 
        </xp:this.expression> 
    </xp:validateExpression> 
</xp:this.validators>
于 2012-04-21T00:47:36.580 回答
0

尝试添加一些打印输出,看看您是否获得了正确的字段值

于 2012-04-20T16:16:42.333 回答