MVC驗證01-基礎、遠程驗證

本文體驗MVC服務端和客戶端驗證。主要涉及:
※ 基礎驗證
※ 遠程驗證1個或多個屬性及注意點jquery

  基礎體驗app

建立MVC4的Internet項目,自己包含了基本的Model,Views,Controller.異步

□ Model打上驗證特性ui

展開

□ HomeController中關於註冊的部分this

展開

□ /Home/Register視圖spa

展開

效果:
加上幾個驗證code

□ 去除客戶端驗證orm

  <appSettings>
    <add key="ClientValidationEnabled" value="false" />
    <add key="UnobtrusiveJavaScriptEnabled" value="false" />
  </appSettings>blog

把與客戶端驗證相關的屬性設置爲false,發現驗證慢了不少。ip

  體驗遠程驗證屬性

有時候,好比驗證用戶名是否存在,咱們但願能夠發一個異步請求到控制器。
給屬性打上Remote屬性。

展開

Validate控制器

展開


注意:
遠程驗證控制器方法參數必須和view model中須要遠程驗證的屬性一致,但不區分大小寫。

結果:
遠程驗證失敗

□ 同時遠程驗證多個屬性    

好比咱們想同時遠程驗證UserName和Email。
咱們能夠在View model的其中一個屬性打上Remote,其它須要Remote驗證的屬性放在AdditionalFields中列舉。

public string UserName { get; set; }

[Remote("CheckUserName", "Validate", AdditionalFields = "UserName", ErrorMessage = "遠端驗證失敗")]   
public string Email { get; set; } 

注意:
AdditionalFields列舉的字段是區分大小寫的。

對應控制器遠程驗證方法:

展開
相關文章
相關標籤/搜索