xpages验证错误控制显示顺序

时间:2014-06-12 17:40:56

标签: validation xpages

好肉汁!?!为什么这会以如此奇怪的顺序显示?页面上有4个问题需要验证。这4个问题是按1,2,3,4的顺序排列的字段。

但页面底部的验证以明显随机的顺序报告它们!

(问题图片在这里:http://www-10.lotus.com/ldd/xpagesforum.nsf/xsp/.ibmmodres/persistence/DominoDoc-13B6A-Body/11111.jpeg

这是xpage上显示的源代码

    <xp:inputTextarea style="width:75%" value="#{Report.Agenda}" id="Agenda">
                            <xp:this.validators>
                    <xp:validateRequired
                        message="Question 1 can't be blank">
                    </xp:validateRequired><!-- (1)  -->
                </xp:this.validators>
    </xp:inputTextarea>

    <xp:br></xp:br>
    <xp:br></xp:br>

    <xp:inputTextarea style="width:75%" value="#{Report.Themes}" id="Themes" required="true">
    <xp:this.validators>
        <xp:validateRequired message="Question 2 can't be blank."></xp:validateRequired>
    </xp:this.validators></xp:inputTextarea>

    <xp:br></xp:br>
    <xp:br></xp:br>

    <xp:inputTextarea style="width:75%" value="#{Report.Why}" id="Why" required="true">
    <xp:this.validators>
        <xp:validateRequired message="Question 3 can't be blank."></xp:validateRequired>
    </xp:this.validators></xp:inputTextarea>

    <xp:br></xp:br>
    <xp:br></xp:br>

    <xp:inputTextarea style="width:75%" value="#{Report.Goals}"  id="Goals" required="true">
    <xp:this.validators>
        <xp:validateRequired message="Question 4 can't be blank."></xp:validateRequired>
    </xp:this.validators></xp:inputTextarea>

3 个答案:

答案 0 :(得分:1)

错误总是以随机顺序排列,还是总是以相同的顺序排列,而不是您期望的顺序?如果是后者,则可能与控件添加到XPage的顺序有关,或者它们在组件树中找到的顺序,从兄弟姐妹导航到下一个兄弟等等。

在本地\ xsp下的Package Explorer中将有一个相应的Java类。 create ...方法的顺序,例如createButton1可能会提供一些线索。

答案 1 :(得分:1)

这里有一些相关信息:How to set the order of validation messages?

长话短说,您可能想在此博客上查看解决方案。 http://dontpanic82.blogspot.com/2011/07/custom-control-for-enhanced-validation.html

答案 2 :(得分:1)

验证错误内部存储在 java.util.HashMap 中。 这就是文档中关于这个类的内容:

  

此课程不保证地图的顺序;特别是,它不保证订单会随着时间的推移保持不变。

呈现消息控件时, FacesMessages 以随机顺序显示。没有机会改变这种行为。相反,你必须创建自己的解决方案。