DefaultValidate


【功能說明】

用途:使用於 Client 端,用在設定對用戶整體的輸入資料做預設、合法性檢查等功能。

【元件屬性】

Name( 名稱 )(string)

元件名稱,用於識別該元件。

BindingSource( 資料源 )(InfoBindingSource)

設定對應的 BindingSource ,指自動預設、合法性檢查的對象資料表等。

CarryOn( 取自上筆 )(bool)

如果此屬性設為 True ,則系統會記錄最新更改或新增過的最近一筆資料,並在下次新增時,將部份欄位複製過來,此功能也是預設的一種類型,只不過他會預設最近一次新增會更改的值。其 CarryOn 的欄位定義在 FieldItem 中。注意,第一次打開 BindingSource 所進行第一次新增時,因為沒有前一筆,所以 CarryOn 無效。另外須注意 CarryOn 必須配合 DefaultActive=True 才會有作用,因為 CarryOn 也是 Default 的一種方式。

CheckNullText( 空白檢查提示 )(string)

設定在執行狀態下,檢查某欄位的值為空白時,對 User 所提示的訊息 ( 會自動加上欄位名稱 ) 。此功能應配合 FieldItems 的設定,即該欄位必須在 FieldItems 內,有設定為自動檢查空白才會有所作用。

DefaultActive( 自動預設 )(bool)

此屬性為 True 時,則可依 FieldItems 來設定對某些欄位預設其內容值。如果為 False 者,則所有 FieldItems 的預設會全部無效。

ValidActive( 合法性檢查 )(bool)

True 代表要啟動合法性檢查功能,欄位檢查規則在 FieldItems 中定義之。

FieldItems( 欄位明細 )(Collection)

在此設定哪些欄位需要預設值,或者需要對 User 所輸入的欄位進行合法性檢查等。可同時設定多個 FieldItem ,每個 FieldItem 有以下幾個屬性:

CheckNull( 空白檢查 )(bool) True/False ,設定該欄位是否要作空白檢查,所謂空白包括空字串或數值 0 等。

DefaultValue( 預設值 )(string) 設定該欄位的預設值。此處可以使用字串或數字的常數 ( 固定值 ) 或使用函數方式,函數的使用方法詳見 Examply1

CarryOn( 取自上筆 )(bool) True/False ,為 True 代表此欄位要取自最近一筆的內容值, CarryOn DefaultValue 只能選其一有效。

CheckRangeFrom( 範例檢查最小值 )(string) 此用來作為範例檢查最小值,可以為固定的文數字

CheckRangeTo( 範例檢查最大值 )(string) 此用來作為範例檢查最大值,可以為固定的文數字

FieldName( 欄位名稱 )(string) 要處理的欄位名稱,可以用在預設處理或合法性檢查皆可。

Validate( 合法性檢查 )(string) 設定該欄位的合法性檢查規則,並在 User 輸入後如不符合規則時給予提示。因為是合法性檢查,所以這裡只能使用函數,並且返回 bool True/False 來控制是否合法。設定函數的方法同 DefaultValue ,見 Examply1

ValidateLabelLink( 檢查欄位對應 Lable)(string) 配合 ValidateColor ValidateChar 功能所要對應的欄位 Label(DataGridView 者可以不必設定 )

WarningMsg( 提示訊息 )(string) Validate 合法性檢查沒有通過時,將提示給 User 的訊息。

DuplicateCheck( 重複檢查 )(bool)

是否要在存檔前做重複檢查, True 代表要,否代表不要,重複檢查的模式設定在 DuplicateCheckMode 中。

DuplicateCheckMode(( 重複檢查模式 )(enum)

共有 ByLocal ByWhere 兩種, By Local 是尋找目前的 InfoBindingSource 內的資料是否重複,一般是以鍵值來找 (KeyFields) ,如果有重複會告之 User ,一般使用於 Master/Detail 表單中的 Detail InfoBindingSource ;如果是以 ByWhere ,則系統會在存檔前先自行去後端下 Select count(*) from table where keyfield=val .. 方式尋找是否有重複鍵值,此目的是為了控制避免因為後端有重複資料而送回前端的錯誤訊息。

ValidateColor( 檢查欄位顏色 )(color)

是否設定所要檢查欄位的抬頭,讓其自動變成指定的顏色,預設為紅色,此檢查欄位對象不為 DataGridView 時,必須另外指定其對應抬頭的 Label

ValidateChar( 檢查欄位字元 )(string)

是否設定所要檢查欄位的抬頭,讓其前面自動加上此字元,預設為「 * 」,檢查欄位對象不為 DataGridView 時,必須另外指定其對應抬頭的 Label

ValidateMode( 合法性檢測模式 )(enum)

共有 All One 兩種 預設為 One, 一次一個警告訊息的方式 , 如果為 All, 就代表一次全部警告

LeaveValidation( 是否離開焦點檢測 )(bool)

用於可控制在焦點離開時是否會驗證合法性。

【事件】

此元件無事件。

【功能函數】

此元件無功能函數。

【其他說明】

1. 本元件內的檢查欄位如果只設定 CheckRangeForm CheckRangeTo ,即可達到單向的範圍檢查,如可達到 " 必須大於等於 " " 必須小於等於 " 的功能, 系統訊息也會自動匹配。

 

Converted from CHM to HTML with chm2web Pro 2.85 (unicode)