ASP.NET MVC3开发 - CodeFisrt数据库篇之M层验证之调用远程方法(Remote)验证
2013-09-25 10:12
351 查看
本文讲述在作者在使用.net mvc3进行开发的时候用到的两种调用远程验证的方法,第一种方法比较傻瓜,第二种方法方便好用,调用远程验证是个比较常见的验证方法,比如注册用户时的用户名唯一性验证。
作者原创,转载请标明:http://www.kwstu.com/ArticleView/admin_20139251081022
首先创建一个model类
1.继承ValidationAttribute方法验证
首先创建一个类
使用方法:
2.使用.net mvc3提供的Remote特性方法进行验证
此种方法比较方便
首先在Controller中创建一个验证方法
调用方法如下:
[align=left]笔者写作水平和技术水平有限,以上内容仅供参考![/align]
作者原创,转载请标明:http://www.kwstu.com/ArticleView/admin_20139251081022
首先创建一个model类
//用户注册 public class UnitRegisterViewModel { public UnitRegisterViewModel() { } public string ID { set; get; } [Required(ErrorMessage = "{0}必须填写!")] [StringLength(50, MinimumLength = 1, ErrorMessage = "{0}必须在{2}至{1}位之间")] [DisplayName("单位名称")] [Remote("CheckUnitName", "Login")] public string UNITNAME { set; get; } [Required(ErrorMessage = "登录名必须填写")] [StringLength(20, MinimumLength = 6, ErrorMessage = "登录名必须在{2}至{1}位之间")] [CheckSameUsername(ErrorMessage = "{0}用户已被注册,请重新填写")] [DisplayName("登录名")] public string USERNAME { set; get; } [Required(ErrorMessage = "密码必须填写!")] [DisplayName("密码")] public string USERPASS { set; get; } [Required(ErrorMessage = "确认密码必须填写!")] [Compare("LOGINPASS", ErrorMessage = "密码和确认密码不一致,请重新输入")] [DisplayName("确认密码")] public string CONFIRMPASS { set; get; } }
1.继承ValidationAttribute方法验证
首先创建一个类
//验证用户名数据库中是否存在 public class CheckSameUsernameAttribute : ValidationAttribute { public override bool IsValid(object value) { if (value == null) { return true; } KzrcwDbContent context = new KzrcwDbContent(); string st = value.ToString(); var res = context.UNIT_BASE.Where(m => m.LOGINNAME == st).Count(); if (res == 0) { return true; } return false; } }
使用方法:
[CheckSameUsername(ErrorMessage = "{0}用户已被注册,请重新填写")] public string USERNAME { set; get; }
2.使用.net mvc3提供的Remote特性方法进行验证
此种方法比较方便
首先在Controller中创建一个验证方法
public JsonResult CheckUnitName(string unitname) { List<UNIT_BASE> unit = db.UNIT_BASE.Where(c => c.NAME == unitname).ToList(); if (unit.Count == 0) return Json(true, JsonRequestBehavior.AllowGet); string suggestedUID = String.Format(CultureInfo.InvariantCulture, "{0}单位已存在,请直接登录。", unitname); return Json(suggestedUID, JsonRequestBehavior.AllowGet); }
调用方法如下:
[Remote("CheckUnitName", "Login")] public string UNITNAME { set; get; }
[align=left]笔者写作水平和技术水平有限,以上内容仅供参考![/align]
相关文章推荐
- ASP.NET MVC3开发 - CodeFisrt数据库篇之M层验证之调用远程方法(Remote)验证
- ASP.NET MVC3开发-数据库篇之CodeFisrt开发(一)
- ASP.NET MVC3开发-数据库篇之CodeFisrt开发(一)
- Sql2012如何将远程服务器数据库及表、表结构、表数据导入本地数据库 自定义日志记录功能,按日记录,很方便 C#常量和字段以及各种方法的语法总结 类型,对象,线程栈,托管堆在运行时的关系,以及clr如何调用静态方法,实例方法,和虚方法 asp.net webapi 自定义身份验证
- WindowsMobile(Winform)开发中的数据存储(解决在不同的Form中要调用对方的方法或者使用对方的数据问题)
- Java RMI 远程方法调用 (Remote Method Invocation)
- php调用远程数据的方法
- html5-websocket实现基于远程方法调用的数据交互
- 1 开发一个注重性能的JDBC应用程序不是一件容易的事. 当你的代码运行很慢的时候JDBC驱动程序并不会抛出异常告诉你。 本系列的性能提示将为改善JDBC应用程序的性能介绍一些基本的指导原则,这其中的原则已经被许多现有的JDBC应用程序编译运行并验证过。 这些指导原则包括: 正确的使用数据库MetaData方法 只获取需要的数据 选用最佳性能的功能 管理连
- FIREDAC调用中间件远程方法查询数据示例
- ComboBox(下拉列表框)通过url加载调用远程数据的方法
- 安卓局域网下远程控制(调用方法,获取数据)
- VC中调用XMLHTTP对象访问远程数据的方法
- Java RMI(远程方法调用)开发
- java通过url调用远程接口返回json数据,有用户名和密码验证
- Spring之RMI 远程方法调用 (Remote Method Invocation)
- Java RMI 远程方法调用 (Remote Method Invocation)
- Java RMI (Remote Method Invoke 远程方法调用)
- html5-websocket基于远程方法调用的数据交互实现
- 微信的API都是通过https调用实现的,分为post方法调用和get方法调用。不需要上传数据的采用get方法(使用IntraWeb开发)