咱們在前端使用BoostrapValidator插件驗證最基本的格式要求問題,同時在後臺中,使用MVC特有的模型驗證來作雙重保險。對於boostrapValidator我就不說了,具體請看《bootstrap登入註冊時表單驗證明現》。而對於後端的模型驗證這就是MVC的知識了,我也是很久之前研究過,如今都忘得差很少了,臨時撿起來了,在這裏我就詳細說說。首先是咱們的前端Razor頁面也就是咱們的cshtml頁面須要引入實體類,假設實體類是UserModel類,它記錄了最基本的用戶名,密碼,郵箱等。在前端的cshtml頁面中咱們引用這個類,而後就是正常的html結合bootstrap樣式的前端代碼編寫,可是在這裏建議使用UserModel類中的字段來命令標籤的id和name屬性,若是亂取名,MVC框架怎麼來識別是哪一個類?所以在這裏建議id和name值都取做UserModel類的字段值。然後在標記了[HttpPost]的Action方法中,將UserModel用做參數傳遞進來,你就會發現前端的值已經綁定在了相應的字段上了。那麼怎麼來作後端驗證呢?這就須要用到註解屬性了。咱們在UserModel類上根據咱們的須要標註[Required][RegularExpression()]等註解屬性。而後在action方法中使用:html
ModelState.IsValid
來作判斷,若是不知足要求,MVC框架的模型綁定會給咱們將上面的值設置爲false。接下來就是咱們本身的判斷了。
可是在這裏要注意,前端的boostrapValidator插件不能和表單的submit()事件同時使用,舉個例子:前端
$(function(){ $(form).boostrapValidator(....); $(form).submit(); //這兩個不能同時使用,要否則不會提交表單到後臺. })
bootstrapValidator插件與form.submit()事件衝突,不知道爲何就是驗證完以後就是不能提交表單,最好仍是使用ajax提交吧。ajax
同時在前端應該判斷好bootstrapValidator是否驗證經過再去提交表單。也就是說先判斷bootstrapValidator.IsValid(),再去提交表單。bootstrap
最好銷燬bootstrapvalidator插件並從新加載驗證的代碼:後端
$("form").data("bootstrapValidator").destory(); $("form").data("bootstrapValidator", null);
參考:http://www.cnblogs.com/RegicideGod/archive/2013/02/04/2892451.html框架