ASP.NET MVC验证所有属性是否合法
1.实现代码:
/// <summary>
/// 验证所有属性是否合法
/// </summary>
/// <param name="modelState"></param>
/// <returns></returns>
public string GetValidMsg(ModelStateDictionary modelState)
{
StringBuilder sb = new StringBuilder();
//遍历每个属性
foreach (var propName in modelState.Keys)
{
//属性相关的错误消息
if (modelState[propName].Errors.Count <= )
{
continue;
}
sb.Append("字段“").Append(propName).Append("”输入的值有误,");
//遍历每个错误消息(因为一个属性可能有多个错误消息)
foreach (ModelError modelError in modelState[propName].Errors)
{
sb.Append(modelError.ErrorMessage);
}
sb.AppendLine();
}
return sb.ToString();
}
2.调用:
if (ModelState.IsValid)
{
......
}
else
{
resultState.Message = GetValidMsg(ModelState); //ModelState为Controller下的属性,所有的控制器都继承了Controller
}
return Json(resultState);
ASP.NET MVC验证所有属性是否合法的更多相关文章
- Asp.net MVC验证那些事(1)-- 介绍和验证规则使用----[转]--[并修改了部分内容]
		
Asp.net MVC验证那些事(1)-- 介绍和验证规则使用 -----原文地址链接 数据的有效性验证,是程序开发中必不可少的环节.这篇文章,我们将用一个实例来说明如何在MVC中使用Validati ...
 - Asp.net MVC验证哪些事(2)-- 验证规则总结以及使用
		
上篇文章Asp.net MVC验证那些事(1)-- 介绍和验证规则使用中,介绍了Asp.net MVC中的验证功能以及如何使用.这里将对MVC中内置的验证规则进行总结. 一,查找所有验证规则 上篇文章 ...
 - Asp.net MVC验证那些事(4)-- 自定义验证特性
		
在项目的实际使用中,MVC默认提供的Validation Attribute往往不够用,难以应付现实中复杂多变的验证需求.比如, 在注册用户的过程中,往往需要用户勾选”免责声明”,这个checkbox ...
 - ASP.NET MVC验证框架中关于属性标记的通用扩展方法
		
http://www.cnblogs.com/wlb/archive/2009/12/01/1614209.html 之前写过一篇文章<ASP.NET MVC中的验证>,唯一的遗憾就是在使 ...
 - Asp.net MVC验证哪些事(3)-- Remote验证及其改进(附源码)
		
表单中的输入项,有些是固定的,不变的验证规则,比如字符长度,必填等.但有些是动态的,比如注册用户名是否存在这样的检查,这个需要访问服务器后台才能解决.这篇文章将会介绍MVC中如何使用[RemoteAt ...
 - ASP.NET MVC验证标注的扩展-checkbox必选
		
我们知道ASP.NET mvc提供一些表单的验证标注,比如必填属性RequiredAttribute 但是这个属性不适合选择框的必选 但是很多时候,我们却是需要一些必选的单选框 比如网站注册的时候,需 ...
 - asp.net MVC 验证注解
		
对于Web系统,对于用户的输入验证是必须的.不仅需要在客户端对用户的输入进行验证,在服务端也需要对用户的执行进行验证. asp.net MVC中对于验证提供了一种注解机制.注解是一种通用机制,可以用来 ...
 - Asp.net mvc验证用户登录之Forms实现
		
这里我们采用asp.net mvc 自带的AuthorizeAttribute过滤器验证用户的身份,也可以使用自定义过滤器,步骤都是一样. 第一步:创建asp.net mvc项目, 在项目的App_S ...
 - ASP.NET MVC验证 - jQuery异步验证
		
本文主要体验通过jQuery异步验证. 在很多的教材和案例中,MVC验证都是通过提交表单进行的.通过提交表单,可以很容易获得验证出错信息.因为,无论是客户端验证还是服务端验证,总能找到与Model属性 ...
 
随机推荐
- 动态规划:最长上升子序列之基础(经典算法 n^2)
			
解题心得: 1.注意动态转移方程式,d[j]+1>d[i]>?d[i]=d[j]+1:d[i] 2.动态规划的基本思想:将大的问题化为小的,再逐步扩大得到答案,但是小问题的基本性质要和大的 ...
 - 洛谷 P3740 [HAOI2014]贴海报
			
题目描述 Bytetown城市要进行市长竞选,所有的选民可以畅所欲言地对竞选市长的候选人发表言论.为了统一管理,城市委员会为选民准备了一个张贴海报的electoral墙. 张贴规则如下: electo ...
 - 牛课第二次多校I
			
链接:https://www.nowcoder.com/acm/contest/140/I来源:牛客网 题目描述 White Cloud has a square of n*n from (1,1) ...
 - 【File】文件操作(初识文件操作一)
			
一,初识文件流 看到标题就知道接下来的所有操作对象都是面对文件进行的.那么问题来了.在java中目录是不是也属于文件呢?答案是yes.既然目录也属于文件,那么对于目录跟文件的区分就显现出来了.在接下来 ...
 - IOS开发---菜鸟学习之路--(四)-登陆界面
			
本篇的内容其实大家 参照橘子的那本开发的书的话 上面讲解的是更详细的 一些实现. 我这边唯一的区别就是 做了网络数据的获取 以及 验证成功后 进行界面的跳转.. 第四篇了 本篇主讲登陆模块 首先先放 ...
 - 【Distinct Subsequences】cpp
			
题目: Given a string S and a string T, count the number of distinct subsequences of T in S. A subseque ...
 - IOS开发学习笔记034-UIScrollView-xib实现分页
			
通过xib实现分页功能的封装 1.首先实现xib UIView 的尺寸为300*130,因为准备的图片为600*260. scrollView属性设置如下: 2.新建一个和xib同名的类 2.1 类方 ...
 - 观数据世界,览类型风骚---Python
			
一.变量的简介 变量只不过是保留的内存位置用来存储数据.这意味着,当创建一个变量,那么它在内存中保留一些空间. 根据一个变量的数据类型,解释器分配内存,并决定如何可以被存储在所保留的内存中.因此,通过 ...
 - mysql安装 以及跳过密码登录重设
			
修改MySQL的登录设置: vi /etc/my.cnf 在[mysqld]的段中加上一句:skip-grant-tables 例如: [mysqld] datadir=/var/lib/mysql ...
 - DownloadManager的使用
			
DownloadManager是系统开放给第三方应用使用的类,包含两个静态内部类DownloadManager.Query和DownloadManager.Request.DownloadManage ...