首页 > 代码库 > MVC验证01-基础、远程验证

MVC验证01-基础、远程验证

原文:MVC验证01-基础、远程验证

本文体验MVC服务端和客户端验证。主要涉及:
※ 基础验证
※ 远程验证1个或多个属性及注意点

  基础体验

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

□ Model打上验证特性

展开

□ HomeController中关于注册的部分

展开

□ /Home/Register视图

展开

效果:
加上几个验证

□ 去除客户端验证

  <appSettings>
    <add key="ClientValidationEnabled" value="http://www.mamicode.com/false" />
    <add key="UnobtrusiveJavaScriptEnabled" value="http://www.mamicode.com/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列举的字段是区分大小写的。

对应控制器远程验证方法:

展开