【问题标题】:XPages server validation errors haven't been displayed to the userXPages 服务器验证错误尚未向用户显示
【发布时间】:2013-12-10 14:31:12
【问题描述】:

我们正在使用 Domino 8.5.3,我们注意到在服务器控制台上显示 xpages 验证消息存在问题。

这是我们为重新创建问题而创建的简单 xpage:

<?xml version="1.0" encoding="UTF-8"?>
<xp:view xmlns:xp="http://www.ibm.com/xsp/core">

    <xp:inputText id="inputText1" required="true">
        <xp:this.validators>
            <xp:validateRequired message="Value is required."></xp:validateRequired>
        </xp:this.validators>
    </xp:inputText>

    <xp:messages id="messages1"></xp:messages>
</xp:view>

即使我们在页面上有一个 xp:messages 并且我们能够在 xpage 上看到这些错误消息,我们也可以看到它们显示在服务器控制台上!有没有其他人注意到这一点?

任何帮助将不胜感激。

【问题讨论】:

  • 您是否将“disableClientSideValidation”设置为 true?我不清楚 xp:messages 是否正在显示消息。您肯定希望该设置为 true 以使 xp:messages 正常工作。
  • 我刚刚在我最新的应用程序中玩过这个,客户端验证对写入服务器控制台没有影响。它确实会阻止消息显示在 xp:messages 中。我从未听说过将这些消息写入服务器控制台。很抱歉问这个显而易见的问题,但是您的代码中是否有 print() 或 System.out.println() ?
  • 关于触发更新的另一件事,是设置为“不验证或更新数据”还是“未经验证处理数据”? --- 顺便说一句:当我早些时候发表评论时,我没有在您的问题标题中看到用户确实没有看到这些消息,这就是我的假设。
  • 嗨史蒂夫,非常感谢您的及时回复,我们没有将 disableClientSideValidation 设置为 true,事实上,我们不使用它。我们已经通过 xsp 属性在应用程序级别关闭了客户端验证。我很抱歉不清楚,用户正在看到该消息,但它也打印在服务器控制台上。不,我们在任何地方都没有 print 或 System.out.println。从上面列出的来源可以看出,我们甚至在 xpage 上都没有提交按钮,我们所做的只是在该字段中按 enter 以提交数据。
  • 猜测:在 XSP 属性中,尝试将“客户端验证”从“关闭”更改为“服务器默认”,然后确保在编辑控件中将其关闭。

标签: xpages lotus-domino xpages-ssjs


【解决方案1】:

服务器端错误触发日志事件。根据记录器设置,这将被写入控制台和/或日志/跟踪文件。当您检查 data/workspace/.config/rcpinstall.properties 中的设置时,您会发现多个条目,例如:

   com.ibm.esupport.client.product.SSC4TNF.utils.level=INFO

决定什么被记录在什么细节中(它总是 .level=SOMEUPPERCASEVALUE)。没什么好担心的。

【讨论】:

  • 非常感谢 Steven,我们将对此进行审核并在不同的服务器上进行尝试。
  • 要使用的条目是将验证记录器从仅警告更改为严重:com.ibm.xsp.core.validation.level=SEVERE
【解决方案2】:

您的消息控件没有引用您的输入字段。

<xp:messages id="messages1" for="inputText1"></xp:messages>

我认为这是可行的。

【讨论】:

  • 谢谢但很抱歉,这是一个全局“消息”控件,而不是“消息”控件。
猜你喜欢
  • 1970-01-01
  • 2017-08-18
  • 2022-11-17
  • 2019-09-08
  • 1970-01-01
  • 1970-01-01
  • 2014-07-30
  • 2017-03-03
  • 2021-03-28
相关资源
最近更新 更多