MVC3 Model Binding驗證方式

2021-09-06 14:53:48 字數 2798 閱讀 1636

1、使用modelstate在action中進行驗證

2、model元資料驗證

[displayname("

使用者名稱"

)] [required(errormessage = "

請輸入使用者名稱")]

public

string username

[displayname(

"是否刪除")]

[required]

public

int? isdelete

[displayname(

"使用者狀態")]

[required]

public

int? userstatus

[displayname(

"初始日期")]

[required]

[datatype(datatype.date)]

[daterange(

"2014-03-01

", "

2014-05-01")]

public datetime? birthdate

[displayname(

"建立日期")]

[required]

[datatype(datatype.date)]

public datetime? createtime

自定義驗證,主要是實現validationattribute類的isvalid方法,下面的類定義了對輸入時間範圍的驗證

public

class

daterangeattribute : validationattribute

public

override

bool isvalid(object

value)

if (!datetime.tryparse(begin.tostring(), out

dtbegin))

if (!datetime.tryparse(end.tostring(), out

dtend))

if (dtvalue < dtbegin || dtvalue >dtend)

並且大於

", begin.tostring(), end.tostring());

return

false

; }

return

true

;

//return base.isvalid(value);

}

3、實現ivalidatableobject介面,實現單獨方法驗證
public ienumerablevalidate(validationcontext validationcontext)

if (string

.isnullorempty(userinfo.username)));}

if (userinfo.username != "

123"

) );

}}

4、啟動客戶端驗證

4.1 配置檔案

4.2 view

@html.validationsummary(true)

@html.labelfor(m => m.birthdate):

@html.editorfor(m => m.birthdate)

@html.validationmessagefor(m => m.birthdate)

4.3 生成的html**
<

input

class

="text-box single-line input-validation-error"

data-val

="true"

data-val-number

="字段 是否刪除 必須是乙個數字。"

data-val-required

="是否刪除 欄位是必需的。"

id="isdelete"

name

="isdelete"

type

="text"

value

="0"

>

Mvc學習筆記 3

public actionresult test new student new student new student new student viewdata stuname 張三 viewbag.stuage 22 tempdata stugender 男 return view stulis...

學習封裝 MVC 3

一 配置載入類 1 建立配置路由 return array ctrl index action index 2 控制器層 1.判斷配置檔案是否存在 2.判斷當前配置是否存在 3.快取配置 載入單一配置 static public conf array static public function g...

MVC3學習總結

本文是閱讀了scottgu s blog來記錄的,外加自己的學習心得。一 razor razor是乙個新的檢視引擎,它實現了快速,流暢的編碼流程,使得檢視模板跟簡潔乾淨。1 靈活的選擇。add view.新建檢視模板的時候你可以選擇razor cshtml 模板檢視,或aspx c 模板檢視。2 r...