redang bay
posts - 68, comments - 19, trackbacks - 0, articles - 1
导航
首页
新随笔
联系
管理
<
2018年11月
>
日
一
二
三
四
五
六
28
29
30
31
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
1
2
3
4
5
6
7
8
留言簿
给我留言
查看公开留言
查看私人留言
随笔分类
.net(10)
Ajax
Hibernate(3)
HTML
JavaEE(9)
Javascript(2)
JavaSE(7)
linux(10)
MyEclipse
Oracle(6)
PL SQL for Oracle
Spring
Struts1
Struts2(2)
UML
XML
我的小说
随笔
随笔档案
2018年11月 (3)
2018年10月 (2)
2018年9月 (12)
2018年8月 (4)
2018年4月 (5)
2017年9月 (3)
2017年7月 (1)
2017年5月 (1)
2012年3月 (2)
2012年2月 (3)
2012年1月 (1)
2011年8月 (1)
2011年7月 (1)
2011年2月 (7)
2011年1月 (6)
2010年12月 (4)
2010年10月 (10)
2010年9月 (2)
搜索
最新评论
1. re: 简单工厂类
1.通过参数
2.获取父类对象
3.调用方法
--viery
2. re: jstl循环
/><script>alert('aa')<script>
--aaaaaaaaaaaaaa
3. re: jstl循环
<script>alert('aa')<script>
--aaaaaaaaaaaaaa
4. re: Java三大框架Struts、Hibernate和Spring的技术起源和由来 [未登录]
thx
--欧阳
5. re: 原创-小型oa系统
你好,你左边的导航是怎么做的?是用jquery easyui 吗?@vle
--horrsion
评论排行榜
1. 基于SSH+pager-taglib的分页封装(5)
2. 原创-小型oa系统(5)
3. Hibernate中的几种经典对象模型和关系模型的映射(1)(2)
4. jstl循环(2)
5. commons-fileupload-1.2 实现文件上传 (1)
MVC5 自定义特性验证
Posted on 2018-11-27 22:45
viery
阅读(111)
评论(0)
编辑
收藏
所属分类:
.net
1.帮助类
1
public
static
class
MVCHelper
2
{
3
public
static
string
GetValiMsg(ModelStateDictionary modelState)
4
{
5
StringBuilder sb =
new
StringBuilder();
6
foreach
(var propName
in
modelState.Keys)
7
{
8
if
(modelState[propName].Errors.Count<=0)
9
{
10
continue
;
11
}
12
sb.Append("属性验证错误: ").Append(propName).Append(": ");
13
foreach
(ModelError item
in
modelState[propName].Errors)
14
{
15
sb.Append(item.ErrorMessage);
16
}
17
}
18
return
sb.ToString();
19
}
20
}
21
22
///
<summary>
23
///
正则设置特性验证
24
///
</summary>
25
public
class
QQValiAttribute: RegularExpressionAttribute
26
{
27
public
QQValiAttribute():
base
(@"^\d{5,12}$")
28
{
29
this
.ErrorMessage = "只能是5-12位";
30
}
31
}
32
33
///
<summary>
34
///
继承ValidationAttribute 重写IsValid验证
35
///
</summary>
36
public
class
CNPhone : ValidationAttribute
37
{
38
public
override
bool
IsValid(
object
value)
39
{
40
if
(value
is
string
)
41
{
42
string
v = (
string
)value;
43
if
(v.Length==11)
44
{
45
if
(v.StartsWith("13")|| v.StartsWith("18")|| v.StartsWith("16"))
46
{
47
return
true
;
48
}
49
else
50
{
51
this
.ErrorMessage = "不是中国手机号";
52
return
false
;
53
}
54
}
55
else
56
{
57
this
.ErrorMessage = "位数不正确";
58
return
false
;
59
}
60
}
61
else
62
{
63
this
.ErrorMessage = "不是合法的手机号";
64
return
false
;
65
}
66
67
}
68
2.控制器
1
public
class
TestController : Controller
2
{
3
//
GET: Test
4
public
ActionResult Index()
5
{
6
return
View();
7
}
8
9
public
ActionResult demo01()
10
{
11
ViewBag.Price = 10;
12
return
View();
13
}
14
public
ActionResult demo02(Person model)
15
{
16
if
(ModelState.IsValid)
17
{
18
return
Content("Age="+model.Age+" id="+model.Id);
19
}
20
else
21
{
22
string
msg = MVCHelper.GetValiMsg(ModelState);
23
return
Content(msg);
24
}
25
26
}
27
3.model
1
public
class
Person
2
{
3
[Range(1000,4442)]
4
public
int
Age {
get
;
set
; }
5
[Required]
6
[QQValiAttribute]
7
public
int
Id {
get
;
set
; }
8
9
[CNPhone]
10
public
string
Phone {
get
;
set
; }
11
4.页面
1
@{
2
Layout = null;
3
}
4
5
<!
DOCTYPE html
>
6
7
<
html
>
8
<
head
>
9
<
meta
name
="viewport"
content
="width=device-width"
/>
10
<
title
>
demo02
</
title
>
11
</
head
>
12
<
body
>
13
<
div
>
14
</
div
>
15
</
body
>
16
</
html
新用户注册
刷新评论列表
只有注册用户
登录
后才能发表评论。
网站导航:
博客园
IT新闻
知识库
C++博客
博问
相关文章:
MVC5 自定义特性验证
layui真实进度条
scott的emp批量导入demo
售后问题上报运维平台demo
ZTree使用
超强、超详细Redis入门教程
如何将 memcached 融入到您的环境中?
MD5加密
控制台进销存系统
简单工厂类
Powered by:
BlogJava
Copyright © viery