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

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

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

  基础体验

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

□ Model打上验证特性

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

□ HomeController中关于注册的部分

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

□ /Home/Register视图

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

效果:
MVC验证01-基础、远程验证

□ 去除客户端验证

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

把与客户端验证相关的属性设置为false,发现验证慢了很多。

  体验远程验证属性

有时候,比如验证用户名是否存在,我们希望可以发一个异步请求到控制器。
给属性打上Remote属性。

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

Validate控制器

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


注意:
远程验证控制器方法参数必须和view model中需要远程验证的属性一致,但不区分大小写。

结果:
MVC验证01-基础、远程验证

□ 同时远程验证多个属性    

比如我们想同时远程验证UserName和Email。
我们可以在View model的其中一个属性打上Remote,其它需要Remote验证的属性放在AdditionalFields中列举。

public string UserName { get; set; }

[Remote("CheckUserName", "Validate", AdditionalFields = "UserName", ErrorMessage = "远端验证失败")]   
public string Email { get; set; } 

注意:
AdditionalFields列举的字段是区分大小写的。

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

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


MVC验证01-基础、远程验证,布布扣,bubuko.com

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

上一篇:android TypedValue.applyDimension()的作用


下一篇:MVC验证05-自定义验证规则、验证2个属性值不等