MVC 自定義資料校驗規則 Validation

2021-08-16 22:05:25 字數 1912 閱讀 9297

mvc 資料驗證,自定義驗證規則

1>如果這個驗證能直接用正規表示式進行校驗的話,那我們就新建乙個類,讓它繼承自regularexpressionattribute類

$") //這裡直接呼叫父類的建構函式傳遞乙個正規表示式進行驗證

不是合法的qq好,qq號是6-10位數字";

//這個 是乙個佔位符,表示輸入的qq號碼,當然我們也可以不要這個佔位符的。}}

}用法(在模型上打上這個特性標籤就可以了):

public class userinfo

[required]

public string namge

//只要在這裡打上這個自定義的qqnumber特性標籤就可以了

[qqnumber(errormessage="請檢查qq號碼是否正確")]

public string qq

}

2>如果覺得不會寫正則,或者正則不方便的時候還可以這樣,新建乙個類,直接繼承validationattribute類,然後重新它的isvalid方法 驗證成功返回true,驗證失敗返回false

public override bool isvalid(object value)

else

}return false;

}return false; }}

}用法一樣(在模型上打特性標籤就可以了)

public class userinfo

[required]

public string namge

//只要在這裡打上這個自定義的qqnumber特性標籤就可以了

[qqnumber(errormessage="請檢查qq號碼是否正確")]

public string qq

[cnphonenumber(errormessage="請檢查手機號碼是否正確")]

public string phone

}

具體在控制器中怎麼使用:這裡主要是使用system.web.mvc命名空間下的乙個modelstatedictionary型別的modelstate屬性,判斷他的isvalid屬性是否為true,為true表示驗證通過,為false表示驗證失敗,實體資料有錯誤。using system;

using system.collections.generic;

using system.linq;

using system.web;

using system.web.mvc;

else

return content(errorsmsg);}}

}在這裡自己封裝乙個獲取system.web.mvc.modelstatedictionary 字典類中的實體驗證的錯誤訊息的類

using system;

using system.collections.generic;

using system.linq;

using system.text;

using system.web;

using system.web.mvc;

//乙個屬性可能有多個錯誤,那麼就對這個屬性的錯誤進行遍歷

foreach (var error in modelstate[propname].errors)

}return sb.tostring();}}

}

驗證一把:

執行程式,直接在瀏覽器中輸入get請求

表單的自定義校驗規則

在工作中使用得挺多的表單自定義校驗規則的,所以打算記錄下來,以後需要的時候再來檢視.在utils資料夾下建立check.js檔案,然後就寫自定義校驗規則,在匯出,如下 const isvalidusername str const i ternal path 校驗手機號碼 正則 手機號 精確 移動 ...

validate校驗及自定義驗證規則

1 required true 必輸字段 2 remote remote valid.jsp 使用ajax方法呼叫remote valid.jsp驗證輸入值 3 email true 必須輸入正確格式的電子郵件 4 url true 必須輸入正確格式的 5 date true 必須輸入正確格式的日期...

自定義校驗

jquery.validator.addmethod isloginpsw function value,element return this.optional element tel2.test value 登入密碼以字母開頭 6 18 位長度,只能包含字元 數字和下劃線 jquery.vali...