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 控件是强制性的?它们可以定制吗?的主要内容,如果未能解决你的问题,请参考以下文章
如何将 html 文件加载到 XPages 中的 Dojo 对话框中
通过 XPages 中的 CSS 更改 Dojo 过滤选择的大小