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...