2014-10-17 33 views
0

名稱文本框綁定到相關Notes表單中的名稱字段。 如何在保存XPage時將文本框中的值自動轉換爲CANONICALIZE?Xpage名稱文本框保存值爲CANONICALIZE

我試過了以下,但都失敗了。 A)使用currentDocument.save()保存表格 B)在輸入驗證,輸入翻譯和輸入翻譯下的關聯Notes表單字段中使用簡單操作「保存文檔」 C)添加@Name([CANONICALIZE],@ThisValue)作爲計算場。

回答

0

OpenNTF Domino API有一個openntfNABNamePicker dataProvider,您可以在提供此功能的Name Picker控件上使用它。它有一個returnNameFormat屬性,允許您定義名稱是否應該以縮寫,普通或規範存儲。

也可以使用Converter,以便在瀏覽器和服務器之間將名稱轉換爲標準格式並將其轉換爲標準格式。

+0

我在https://github.com/paulswithers/org.openntf.domino-Demo-Database/blob/master/org.openntf.domino%20Demo%20Database/XPages/Misc_NamePicker.xsp上檢查了您的帖子您能否請求解釋它是如何工作的?我是否需要安裝任何東西才能工作。謝謝。 – Poppy 2014-10-24 03:20:44

1

嘗試

document1.replaceItemValue("yourField", @Name("[CANONICALIZE]",document1.yourField)); 
querySaveDocument事件您的XPage的

其中document1

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

你也可以使用你的保存腳本如下代碼:

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

NameNA是您的「names」類型的備註字段,「document1」是您的數據源。

0

規範化需要一些工作。 「John Doe」不會神奇地變成「CN = John Doe/OU = ThePitt/O = GI」

沒有目錄來查找名稱,只有像「John Doe/ThePitt/GI」才能正確規範化。

您可以使用@NameInfo檢查是否可以從目錄中獲取全名。