Xpage Name文本框将值保存为CANONICALIZE

时间:2014-10-17 05:43:03

标签: xpages

“名称文本框”与相关“注释”表单中的“名称”字段绑定。 如何在保存XPage时自动将文本框中的值转换为CANONICALIZE?

我尝试过以下但是都失败了。 A)使用currentDocument.save()保存表单 B)使用简单的操作"保存文档" C)在输入验证,输入翻译甚至计算字段下的相关Notes表单字段中添加@Name([CANONICALIZE],@ ThisValue)。

5 个答案:

答案 0 :(得分:1)

尝试

document1.replaceItemValue("yourField", @Name("[CANONICALIZE]",document1.yourField));

在xpage的querySaveDocument事件中

其中document1

<xp:this.data>
        <xp:dominoDocument var="document1" ... />
</xp:this.data>

答案 1 :(得分:1)

OpenNTF Domino API有一个openntfNABNamePicker dataProvider,您可以在名称选择器控件上使用它来提供此功能。它有一个returnNameFormat属性,允许您定义名称是否应存储在Abbreviated,Common或Canonical中。

也可以使用转换器,以便在浏览器和服务器之间将名称转换为规范格式。

答案 2 :(得分:0)

您还可以在保存脚本中使用以下代码:

 var name:NotesName = session.createName(getComponent("inputText1").value)
document1.replaceItemValue("NameNA", name.getCanonical())
document1.save()

NameNA是“names”类型的备注字段,“document1”是您的数据源。

答案 3 :(得分:0)

标准化需要一些东西可以使用。 &#34; John Doe&#34;没有神奇地变成&#34; CN = John Doe / OU = ThePitt / O = GI&#34;

没有目录只能找到类似于&#34; John Doe / ThePitt / GI&#34;会正常地规范化。

您可以使用@NameInfo检查是否可以从目录中获取完整名称。

答案 4 :(得分:0)

转换很容易,并且使用OpenNTF Domino API无需编码。

我发现自己在项目中寻找解决自己之上的问题的方法,尽管Paul提供了答案,但花了我一段时间才真正了解如何解决。

我在下面添加一张图片,以帮助可能会遇到类似情况的任何人。它显示了在何处更改valueNameFormat属性

enter image description here