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


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

  基礎體驗

創建MVC4的Internet項目,本身包含了基本的Model,Views,Controller.

□ Model打上驗證特性

展開

□ HomeController中關於注冊的部分

展開

□ /Home/Register視圖

展開

效果:
加上幾個驗證

□ 去除客戶端驗證

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

把與客戶端驗證相關的屬性設置為false,發現驗證慢了很多。

  體驗遠程驗證屬性

有時候,比如驗證用戶名是否存在,我們希望可以發一個異步請求到控制器。
給屬性打上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列舉的字段是區分大小寫的。

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

展開



免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM