愛上MVC系列 前端驗證與後端資料有效性驗證

2021-09-06 19:41:47 字數 1449 閱讀 1568

回到目錄

有一句話,在10年前就是真理,到現在也一直都是,「前端驗證可以沒有,但後端驗證必須要有」,這句話相信大家都沒有意見吧,前端驗證一般指通過js方式實現的,友好的,個性的驗證方式,而後端驗證是指從表單提交過來,要進行入庫之前的,資料有效性的驗證,它不需要有美麗的外表,它需要有的僅僅是「有效」!

下面我將到mvc環境裡的前端驗證和後端驗證作乙個詳細的說明,乙個使用上的說明。

//

建立訂單使用knockoutjs

var createorder = function

() );

self.productname =ko.observable().extend();

self.username =ko.observable().extend();

self.price =ko.observable().extend(

});self.count =ko.observable().extend(,

max:

});self.do = function () ,

success:

function

(data)

else

alert(data.code);}})

} else}}

new createorder());

在這裡多說兩句,資料實體有效性驗證是指和資料表相關的驗證規則,如你的username字段長度為128字元,那麼,你的實體驗證的長度就是128,而viewmodel業務規則驗證是指針對具體業務設計的檢視模型,如使用者註冊模組,在這個模組裡,你的username被產品經理規則為50個字元,那麼,你的這個業務規則驗證的長度就是50,當然,你的其它業務可能也用到了username欄位,而它的業務規則當然可以不同,這就是有效性和業務規則。

下面**是乙個返回json結果的post請求方法,**如下

public jsonresult doorder(int productid, string username, string productname, decimal price, int

count)}};

if (productid <= 0

)

#region 在action裡拼接modelstate錯誤訊息

var errors = new

stringbuilder();

foreach (string key in

viewdata.modelstate.keys)

}#endregion

if (entity.isvalid &&modelstate.isvalid)

orderservice.doorder(entity);

else

return json(new );

return json(new );

}

回到目錄

愛上MVC系列 前端驗證與後端資料有效性驗證

有一句話,在 年前就是真理,到現在也一直都是,前端驗證可以沒有,但後端驗證必須要有 這句話相信大家都沒有意見吧,前端驗證一般指通過 方式實現的,友好的,個性的驗證方式,而後端驗證是指從表單提交過來,要進行入庫之前的,資料有效性的驗證,它不需要有美麗的外表,它需要有的僅僅是 有效 下面我將到 環境裡的...

愛上MVC3系列 全域性異常處理與異常日誌

1 registerglobalfilters globalfilters.filters 它的主要使用是將全域性過濾器進行註冊,而全域性過濾器可以在registerglobalfilters這個方法裡進行設定,如 1 2 全域性過濾器 特性 3 4 5public static void regi...

找到MVC框架中前端URL與後端同步的解決方案

基本思路 先用url標籤生成完整的url字元,前端動態引數的部分以適配符先填充,最後動態引數利用正則匹配進行替換。這種方式,可以在各種mvc框架中適用,妙。不廢話,上碼。url url.format string.format 同時匹配 內容方式 if string.prototype.format...