ASP.NET RemoteAttribute远程验证更新问题
create时使用remote特性没有任何问题,
update时,问题就大了,验证唯一性时需要排除自身,如果使用这个特性将无法正确的验证.
改进思路:将自动生成的标签属性改为手写,,并在url上面加上验证参数;
去掉Model的Remote特性
标签生成代码:
@Html.TextBoxFor(r => r.Code, new Dictionary<string, object>{ {"data-val-remote","该编码已存在!"}, {"class","form-control"},5 {"data-val-remote-additionalfields","*.Code"}, 6 {"data-val-remote-type","post"}, 7 {" data-val-remote-url","/Test/CheckCode"+((Model==null)?"":"?self="+Model.Id.ToString())}})
验证代码:
public JsonResult CheckCode(string code, Guid? self = null) { code = code.ToUpper().Trim(); bool b; if (self == null) b = _b.IsExists<Test>(r => r.code == code); else b = _b.IsExists<Test>(r => r.code == code && r.Id != self); return Json(!b, JsonRequestBehavior.AllowGet); }
ASP.NET RemoteAttribute远程验证更新问题的更多相关文章
- asp.net mvc4 远程验证
[HttpGet] public ActionResult CheckToolsIdExists(string ToolsID) { using (BaseContext context = new ...
- ASP.NET MVC - 模型验证
ASP.NET MVC - 模型验证(Model verification) 模型验证原理浅析 模型验证用到了模型绑定器.模型验证器(System.Web.Mvc.DataAnnotationsMod ...
- ASP.NET Forms 身份验证
ASP.NET Forms 身份验证 在开发过程中,我们需要做的事情包括: 1. 在 web.config 中设置 Forms 身份验证相关参数.2. 创建登录页. 登录页中的操作包括: 1. 验证用 ...
- ASP.NET MVC 5 - 验证编辑方法(Edit method)和编辑视图(Edit view)
在本节中,您将验证电影控制器生成的编辑方法(Edit action methods)和视图.但是首先将修改点代码,使得发布日期属性(ReleaseDate)看上去更好.打开Models \ Movie ...
- [渣译文] 使用 MVC 5 的 EF6 Code First 入门 系列:为ASP.NET MVC应用程序更新相关数据
这是微软官方教程Getting Started with Entity Framework 6 Code First using MVC 5 系列的翻译,这里是第八篇:为ASP.NET MVC应用程序 ...
- [重点翻译] ASP.NET 4.6的更新 -- 本文只摘录 Web Forms的部分
原文出处:[重点翻译] ASP.NET 4.6的更新 -- 本文只摘录 Web Forms的部分 http://www.dotblogs.com.tw/mis2000lab/archive/2015/ ...
- ASP.NET MVC 2 验证
来源:http://www.cnblogs.com/jhxk/articles/2612885.html 只为把自己觉的好的存起来 对用户输入的验证以及强制业务规则/逻辑是大多数web应用的核心需求 ...
- ASP.NET中身份验证的三种方法
Asp.net的身份验证有有三种,分别是"Windows | Forms | Passport",其中又以Forms验证用的最多,也最灵活.Forms 验证方式对基于用户的验证授权 ...
- asp.net mvc3 数据验证(四)—Remote验证的一个注意事项
原文:asp.net mvc3 数据验证(四)-Remote验证的一个注意事项 前几篇把asp.net mvc3 中基于Model的主要数据验证的方法都已经讲完了,本节纯粹只是讲一个我 ...
随机推荐
- PHP中的stristr(),strstr(),strpos()速度比较
测速代码: <?php function getmicrotime() { list($usec, $sec) = explode(" ",microtime()); ret ...
- 迷宫问题(DFS,BFS)
/******************************** 啊哈!算法 深度优先搜索算法 迷宫问题 输入: 5 4 0 0 1 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 ...
- Git Base 操作(二)
1. 撤销修改 (1) 当改乱了工作区(working directory)某个文件的内容,想直接丢弃工作区中的修改时,用命令git checkout -- file. (2) 当不但改乱了工作区某个 ...
- 洛谷 P1372 又是毕业季I[数论/神坑规律题]
题目描述 为了把毕业晚会办得更好,老师想要挑出默契程度最大的k个人参与毕业晚会彩排.可是如何挑呢?老师列出全班同学的号数1,2,……,n,并且相信k个人的默契程度便是他们的最大公约数(这不是迷信哦~) ...
- JavaScript的Object
题目 var foo = new Object(); var bar = new Object(); var map = new Object(); map[foo] = "foo" ...
- luogu P1616 疯狂的采药
题目背景 此题为NOIP2005普及组第三题的疯狂版. 此题为纪念LiYuxiang而生. 题目描述 LiYuxiang是个天资聪颖的孩子,他的梦想是成为世界上最伟大的医师.为此,他想拜附近最有威望的 ...
- jQuery.parseHTML() 函数
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
- Linux基础学习5
程序管理与SELinux初探 process&program 程序 (program):通常为 binary program ,放置在储存媒体中 (如硬盘.光盘.软盘.磁带等), 为实体档案 ...
- Displaying Tabbed and Stacked Canvas Using Show_View In Oracle Forms
Displays the indicated canvas at the coordinates specified by the canvas's X Position and Y Position ...
- 【转】.net 经典面试题
[转].net 经典面试题 1. 简述 private. protected. public. internal 修饰符的访问权限. 答 . private : 私有成员, 在类的内部才可以访问. ...