2012-11-13

[ASP.NET] 將 jQuery Validate Plugin 包成後端可用的物件

此驗證物件可以在ASP.NET後端,直接產生某個元件透過jQuery Validate Plugin的驗證script。前提要先引用jQuery Validate PluginjQueryValidateExtension

個人比較常用在像GridView這種表格式的介面,可以放在RowDataBound裡,針對每一列要驗證的元件去設定之,還滿方便的~


以下的範例,當你按了btnSearch按鈕時,就會觸發txtQTY"不能為空白"和"至少要填1個字數"的驗證。

使用步驟如下:

0. 引用jQuery Validate PluginjQueryValidateExtension,並下載此驗證物件

1. 宣告此物件為共用物件。
FieldValidator objValidator = new FieldValidator();

2. 在Pagd_Load產生物件的Constructor。
objValidator = new FieldValidator("任意名稱", this.Form.UniqueID);

3. 指定要驗證的元件的Validate規則。如果是要驗證GridView裡的元件,那可以放在RowDataBound裡。(要注意的是! 如果要自行擴充ValidateType,jQueryValidateExtension也要加上驗證規則,因為兩邊是對應的。)
objValidator.Add(txtQTY.UniqueID, 
   new Rules[] {
    new Rules(ValidateType.Required, "數量不能為空白!"),
    new Rules(ValidateType.MinLength, "字數至少要填1個!")
        }
   );

//產生validate script,並存在HiddenField
hiddenValidator.Value = objValidator.GenValidator();

4. 在Page_LoadComplete註冊到欲觸發驗證的Button。
btnSearch.OnClientClick = objValidator.ScriptForButton();


參考來源:StackOverflow

沒有留言:

張貼留言