MVC3关于用户名的验证
以前一直想知道用户名是怎么在客服端验证的,不用到服务器端验证,学习了MVC3之后,今天终于实现了用户名的验证,感觉无比的激动,嘿嘿嘿嘿,毕竟是想了很久也不知道的办法。
在MVC之中主要是用到Remote的一些属性吧,它的一些参数如下:Remote(string Action,string controller,string ErrorMessage,......)Action是在验证的时候从数据库读取数据的方法,返回JSON对象。废话不多说了吧,下面直接给出源码实例:
首先是在Model层之中的LoginName属性上给予添加验证属性,代码如下(主要是绿色部分):
1 [DisplayName("用户名")] 2 [Required(ErrorMessage = "不能为空")] 3 [Remote("IsUserExists", "Validate", "Admin", ErrorMessage = "用户名已经存在!", HttpMethod = "POST")] 4 public string LoginName { get; set; }
现在就需要用到Remote的一些属性了,必须实现Remote的一些参数,否则出错,我这里实现的参数的C#(基于Razor视图)代码如下:
1 public class ValidateController : Controller 2 { 3 4 Entities db = new Entities(); 5 public ActionResult IsUserExists(string LoginName) 6 { 7 int c = db.users.Where(p => p.LoginName == LoginName).Count(); 8 bool exists = c > 0; 9 return Json(!exists, JsonRequestBehavior.AllowGet); 10 } 11 12 }
Validate是在Remote定义的一个Controller吧,IsUserExists则是定义的一个Action,就这样吧,代码是如此的简单的,实现的效果也是挺好的,下面看看效果吧:
效果即简单又有点酷吧!对于这个结果,我这里是没有提交数据的,只要你输入完后就会出现如图的效果的,你也来试试吧!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步