XPages - 为啥Dojo Filtering Select 控件是强制性的?它们可以定制吗?

Posted

技术标签:

【中文标题】XPages - 为啥Dojo Filtering Select 控件是强制性的?它们可以定制吗?【英文标题】:XPages - why are Dojo Filtering Select controls obligatory? Can they be customised?XPages - 为什么Dojo Filtering Select 控件是强制性的?它们可以定制吗? 【发布时间】:2013-10-04 14:20:58 【问题描述】:

我在我的 XPage 上使用了一些 Dojo Filtering Select 控件。尽管已将 required 属性设置为 false,但当我尝试保存 XPage 文档时,我在 Dojo Filtering Select 控件中看到消息“此值是必需的”。我想知道

1/ 是否可以使 Dojo 过滤选择控件不是强制性的?

2/ 是否可以自定义强制控制时出现的错误信息?

【问题讨论】:

我现在正在尝试使用 Dojo Filtering Select 进行客户端验证,但是它不起作用:-(我已将我的代码添加到上面的问题中。 回答了原来的问题。您的更新问题与您的第一个问题不同。为什么不创建一个新问题? 好的,我会这样做的。 - 现在刚刚创建了新问题。 【参考方案1】:

1) 您在客户端验证时收到“此值是必需的”消息。因此,除了负责服务器端验证的属性required="false" 之外,您还必须将dojoAttribute “required”设置为“false”。然后你就不会再收到消息了。

<xe:djFilteringSelect
    id="djFilteringSelect1"
    value="#..."
    required="false">
    <xe:this.dojoAttributes>
        <xp:dojoAttribute
            name="required"
            value="false">
        </xp:dojoAttribute>
    </xe:this.dojoAttributes>
</xe:djFilteringSelect>

2) 以同样的方式,您可以将 dojoAttribute "missingMessage" 设置为您喜欢的字符串,以防您的控制仍然是强制性的。

【讨论】:

非常感谢这个出色的解决方案。我只希望我能更好地阅读 Dojo 文档 :-(【参考方案2】:

您可以自定义这些参数(它们在FilteringSelect的父ValidationTextBox中):

// required: Boolean
//      User is required to enter data into this field.
required: false,

// promptMessage: String
//      If defined, display this hint string immediately on focus to the textbox, if empty.
//      Also displays if the textbox value is Incomplete (not yet valid but will be with additional input).
//      Think of this like a tooltip that tells the user what to do, not an error message
//      that tells the user what they've done wrong.
//
//      Message disappears when user starts typing.
promptMessage: "",

// invalidMessage: String
//      The message to display if value is invalid.
//      The translated string value is read from the message file by default.
//      Set to "" to use the promptMessage instead.
invalidMessage: "$_unset_$",

// missingMessage: String
//      The message to display if value is empty and the field is required.
//      The translated string value is read from the message file by default.
//      Set to "" to use the invalidMessage instead.
missingMessage: "$_unset_$",

// message: String
//      Currently error/prompt message.
//      When using the default tooltip implementation, this will only be
//      displayed when the field is focused.
message: "",

如果你将required设置为false,它不应该提示消息,你可以发布你的代码。

【讨论】:

非常感谢您提供这些有用的信息!您是如何发现 ValidationTextBox 是 FilteringSelect 的父级的?

以上是关于XPages - 为啥Dojo Filtering Select 控件是强制性的?它们可以定制吗?的主要内容,如果未能解决你的问题,请参考以下文章

如何更改xpages中dojo货币文本框的特征?

如何将 html 文件加载到 XPages 中的 Dojo 对话框中

Xpages 无法弹出 dojo 工具提示对话框

通过 XPages 中的 CSS 更改 Dojo 过滤选择的大小

如何在 XPages Domino 9 预览版中直接引用 Dojo 1.8 文件?

我的 IBM Domino xPages 应用程序中的 dojo.js 导致某些 JS 库无法工作