0

我在我的 XPage 上有一个显示错误控件,使用此示例: XPages 中的错误管理

这是代码:

<xp:td>
                            <xp:inputText value="#{document1.ac_Email}" id="ac_Email1"
                                style="width:250px">
                                <xp:this.validators>
                                    <xp:validateRequired message="Email is a required field.">
                                    </xp:validateRequired>
                                    <xp:validateExpression
                                        message="Email needs to be in this format: john@acme.com">
                                        <xp:this.expression><![CDATA[#{javascript:value.match(/^([0-9a-zA-Z]+([_.-]?[0-9a-zA-Z]+)*@[0-9a-zA-Z]+[0-9,a-z,A-Z,.,-]*(.){1}[a-zA-Z]{2,4})+$/)}]]></xp:this.expression>
                                    </xp:validateExpression>
                                </xp:this.validators>
                            </xp:inputText>
                        </xp:td>
                        <xp:td>
                            <xp:message id="message1" for="ac_Email1"></xp:message>
                        </xp:td>

如果电子邮件格式不正确 - 使用 validateExpression - 显示错误消息将正确显示。如果该字段为空,则会出现一条弹出消息(在 Firefox 中)。根据示例和我编码的内容,应该出现显示错误控制消息,而不是弹出消息。

我很困惑,因为表单上还有另外两个字段,当它们为空时,它们可以正常工作——必填字段消息出现在字段右侧的显示错误控件中。是因为这个字段有 2 个验证器吗?

谢谢!

4

0 回答 0