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

时间:2014-03-03 22:57:22   收藏:0   阅读:810

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

  基础体验

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

□ Model打上验证特性

bubuko.com,布布扣展开

□ HomeController中关于注册的部分

bubuko.com,布布扣展开

□ /Home/Register视图

bubuko.com,布布扣展开

效果:
bubuko.com,布布扣

□ 去除客户端验证

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

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

  体验远程验证属性

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

bubuko.com,布布扣展开

Validate控制器

bubuko.com,布布扣展开

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

结果:
bubuko.com,布布扣

□ 同时远程验证多个属性    

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

public string UserName { get; set; }

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

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

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

bubuko.com,布布扣展开

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

原文:http://www.cnblogs.com/darrenji/p/3578133.html

评论(0
© 2014 bubuko.com 版权所有 - 联系我们:wmxa8@hotmail.com
打开技术之扣,分享程序人生!