validate 事件處理程式

validate 函數會處理視圖中資料所導致的驗證錯誤。

用法

validate 函數包含用來顯示指示器或其他一些通知者的邏輯,指出資料有問題。 架構以母項視圖中的 validate 函數開始,然後在其子項視圖中呼叫 validate 函數。

validate 事件處理程式適用於您何時要提供自訂錯誤視覺化及行為。 如需呈現邏輯的範例,請參閱庫存控制項。 例如,「文字」常用控制項會變更顏色,並在包含無效資料時顯示錯誤圖示。 錯誤圖示具有浮動說明,可顯示與錯誤狀況相關聯的訊息。

事件物件

validate 函數會採用單一事件物件。 事件物件的類型是 errorclearerror 事件表示驗證服務或 Script 偵測到一或多個錯誤,且視圖必須處理這些錯誤才能顯示適當的視覺化。 clear 事件表示視圖必須移除先前error 事件所產生的視覺化。

錯誤事件可以有兩個錯誤物件清單。 一個清單名稱為 errors ,另一個名稱為 errors_subscription。 連結至商業物件的視圖會自動收到本身的錯誤。 它們也會針對連結至相同商業物件的所有後代視圖自動接收錯誤。

表 1. 錯誤清單中錯誤物件的內容
內容 類型 說明
binding String 包含相對於現行視圖之資料連結的資料連結路徑。
message String 包含說明錯誤的本地化訊息。
view_dom_ids[] String[List] 包含接收相同錯誤訊息之視圖的 DOM ID 清單。 清單可以包含現行視圖及其任何後代視圖。
呼叫 subscribeValidation() 的視圖會在 errors_subscription 清單中收到特定錯誤。 在連結至與現行視圖不同的商業物件的後代視圖中,會發生這些錯誤。 沒有資料連結的視圖 (例如 Tab 常用控制項) 必須呼叫 subscribeValidation() 以接收錯誤。
表 2. errors_subscription 清單中錯誤物件的內容
內容 類型 說明
messages String[List] 包含本地化錯誤訊息的清單
view_dom_id String 包含具有無效資料的視圖」之 DOM ID。
error 事件物件可能類似下列範例:
type: "error",
errors: 
	[
		{
			binding: "birthday.year"
			message: "The year you entered, 2013, is after current year of 2012.",
			view_dom_ids: ["domId_ProfileView", "domId_yearView"]
		}
	]
errors_subcription: 
	[
		{
			view_dom_id: "domId_accountView",
			messages: ["Enter your account number."]
		}
	]

clear 事件物件不包含任何內容。 視圖使用 clear 物件來移除現在具有有效資料之視圖的錯誤指示器。