您目前已離線,請等候您的網際網路重新連線

如何建立自訂驗證錯誤訊息,包含在 InfoPath 中驗證控制項的名稱

Support for Office 2003 has ended

Microsoft ended support for Office 2003 on April 8, 2014. This change has affected your software updates and security options. Learn what this means for you and how to stay protected.

重要:本文是以 Microsoft 機器翻譯軟體翻譯而成,而非使用人工翻譯而成。Microsoft 同時提供使用者人工翻譯及機器翻譯兩個版本的文章,讓使用者可以依其使用語言使用知識庫中的所有文章。但是,機器翻譯的文章可能不盡完美。這些文章中也可能出現拼字、語意或文法上的錯誤,就像外國人在使用本國語言時可能發生的錯誤。Microsoft 不為內容的翻譯錯誤或客戶對該內容的使用所產生的任何錯誤或損害負責。Microsoft也同時將不斷地就機器翻譯軟體進行更新。

按一下這裡查看此文章的英文版本:822032
結論
Microsoft Office InfoPath 會自動檢查您在表單中輸入的資料。如果資料的值不符合所指定的資料驗證規則的條件,InfoPath 就會顯示錯誤訊息。 中透過下列方式之一,可能會出現錯誤訊息:
  • 對話方塊錯誤訊息: 這是資料驗證錯誤訊息,可開啟時不是有效的資料輸入控制項中顯示自訂錯誤訊息的對話方塊。
  • 內嵌的錯誤訊息: 這是在控制項,您可使用資料驗證錯誤訊息。該控制項包含不正確的資料時,InfoPath 會標記以紅色虛框線控制項。若要檢視內嵌錯誤訊息,從控制項,使用者在控制項上按一下滑鼠右鍵,或將指標停留控制項為螢幕提示,請參閱錯誤訊息。
本文提供如何建立內嵌錯誤訊息,從使用者介面或從指令碼的範例。使用者提供的值小於 30 或多個 65 時,您建立此範例表單會將標記"樹齡"文字方塊控制項。這項錯誤的這個內嵌郵件會包含控制項的名稱。

back to the top

設計表單

在 InfoPath 2010

  1. 啟動 InfoPath。
  2. 建立新的表單。
  3. 在 [欄位] 工作窗格 myFields,] 上按一下滑鼠右鍵,然後按一下 [新增]。
  4. 在 [新增欄位或群組] 對話方塊請在 [名稱] 文字方塊中輸入 時代
  5. 資料類型] 清單中選取 整數 (整數),再按 [確定]
  6. 移動 時代 欄位到表單上。

在 InfoPath 2003 或 InfoPath 2007 中

  1. 啟動 InfoPath。建立新的表單。
  2. 在 [設計工作] 工作窗格中,按一下 [資料來源] 開啟資料來源] 工作窗格]。
  3. 資料來源] 工作窗格 myFields,] 上按一下滑鼠右鍵,然後按一下 [新增]。 在 [新增欄位或群組] 對話方塊請在 [名稱] 文字方塊中輸入 時代資料類型] 清單中選取 整數 (整數),再按 [確定]
  4. 移動 時代 欄位到表單上。
back to the top

使用使用者介面來新增資料驗證

在 InfoPath 2010

  1. 按一下以選取 時代 文字方塊控制項。
  2. 在 [常用] 索引標籤上,按一下 [新增規則],按一下 Is Not 間,然後再按一下 [顯示驗證錯誤
  3. 工具提示] 文字方塊中的 [規則] 窗格的輸入 [時代欄位的值必須大於 30 和小於 65]。

在 InfoPath 2003 或 InfoPath 2007 中

  1. 時代 文字] 方塊中控制項上按一下滑鼠右鍵,然後按一下 [文字方塊內容]。 在 [文字方塊內容] 對話方塊按一下 [資料驗證]。
  2. 在 [資料驗證 (時代)] 對話方塊中,按一下 [新增]。
  3. 條件運算子下拉式清單中上下清單選取 是小於
  4. 在條件值下拉式清單中選取 [輸入數字,然後鍵入 [30]。
  5. 按一下 []。
  6. 將新的下拉式清單方塊改成 或者
  7. 在第二個條件運算子下拉式清單,選取 [大於]。
  8. 在第二個條件值下拉式清單,選取 輸入數字,] 然後輸入 [65]。
  9. 在 [工具提示 文字] 方塊鍵入 時代欄位的值必須大於 30 和小於 65
  10. 按三次 [確定] 以關閉所有對話方塊。
back to the top

使用指令碼來新增資料驗證

  1. 時代 文字] 方塊中控制項上按一下滑鼠右鍵,然後按一下 [文字方塊內容]。 在 [文字方塊內容] 對話方塊按一下 [資料驗證]。
  2. 在 [資料驗證 (時代)] 對話方塊從 事件] 清單中選取 [OnValidate],然後按一下 [編輯]。

    Microsoft Script 編輯器] 會啟動。
  3. 將下列程式碼加入至 OnValidate 事件時代欄位:
    function msoxd_my_Age::OnValidate(eventObj){	// Clear any previous errors for this node.	XDocument.Errors.Delete(eventObj.Site,"InvalidValue");		//Set the valAge variable to the value that is entered in the Age field.	var valAge = parseInt(eventObj.Site.text);		//If the value that is entered in the Age field is less than 30 or 	//greater than 65, add a passive error to the collection of the error.	if ((valAge < 30) || (valAge > 65))	{		XDocument.Errors.Add(eventObj.Site,"InvalidValue","The value of the "		 + eventObj.Site.baseName + " field must be greater than 30 and less than 65.");		}}
  4. 儲存變更。關閉 [Script 編輯器]。
  5. 按一下 [確定] 關閉 [資料驗證 (時代)] 對話方塊,然後按一下 [確定] 以關閉 [文字方塊內容] 對話方塊。
back to the top

測試表單

  1. 按一下 [在工具列的 [預覽表單]。
  2. 時代] 欄位中鍵入 29,然後按一下 [外欄位]。

    請注意以紅色虛線框反白控制項。這表示值無效。
  3. 將指標移到控制項。

    請注意工具提示會顯示自訂錯誤訊息。錯誤訊息中包含包含無效的資料的控制項的名稱。
back to the top
ip2007

內容

文章識別碼:822032 - 最後檢閱時間:05/14/2010 18:13:48 - 修訂: 3.0

Microsoft Office InfoPath 2007, Microsoft Office InfoPath 2003, Microsoft Office InfoPath 2003, Service Pack 1 (SP1)

  • kbmt kbhowtomaster kbhowto KB822032 KbMtzh
意見反應
cript type="text/javascript" src="https://c.microsoft.com/ms.js">