博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
MVC4数据注解和验证
阅读量:2065 次
发布时间:2019-04-29

本文共 1777 字,大约阅读时间需要 5 分钟。

  在传统的asp.net开发中,数据的验证一直是个火热的话题,无论是客户端进行验证还是服务器进行验证,通常我们都会为了一个简单的业务而要去写非常复杂的验证方法。在MVC中,MVC为我们提供了各种数据注解和数据验证的特性,很方便的让我们能实现数据验证这一繁琐的工作,以下是我整理的常见的数据注解和验证的DOME!注:自定义验证特性并未写在此篇中!

 

model中的验证注解特性:

 

public 
class 
StuInfo
    
{
        
public 
int 
ID {
get
;
set
;}
  
        
[Display(Name =
"姓名"
)]   
//设置要显示的字段名
        
[Required(ErrorMessage =
"您需要填写{0}"
)] 
//设置为必须字段 已经错误提示
        
[StringLength(50, MinimumLength = 3)]    
//设置最大长度和最小长度
        
public 
string 
Name {
get
;
set
;}
  
        
[Display(Name =
"年龄"
)]
        
[Range(1, 150, ErrorMessage =
"年龄填写不正确!"
)] 
//设置 值范围
        
public 
int 
Age {
get
;
set
;}
  
        
[Display(Name =
"身高"
)]
        
[Range(
typeof
(
decimal
),
"50.00"
,
"250.00"
,ErrorMessage =
"身高超出指定范围"
)]
        
public 
decimal 
Height {
get
;
set
;}
  
        
[Display(Name =
"生日"
)]
        
[DataType(DataType.Date,ErrorMessage =
"{0}格式不正确"
)] 
//设置数据类型以及错误提示
        
public 
DateTime Birthday {
get
;
set
;}
  
        
[Display(Name =
"电话"
)]
        
[Remote(
"CheckPhone"
,
"StuInfo"
, ErrorMessage =
"{0}已被注册"
)]  
//在指定的Conteroller中的通道(route)中验证数据
        
public 
string 
Phone {
get
;
set
;}
  
        
[Display(Name =
"地址"
)]
        
[DataType(DataType.MultilineText)]
        
public 
string 
Address {
get
;
set
;}
  
        
[Display(Name =
"电子邮箱"
)]
        
[RegularExpression(
@"(\w)+(\.\w+)*@(\w)+((\.\w+)+)"
,ErrorMessage =
"{0}格式不正确"
)] 
//正则验证
        
public 
string 
Email {
get
;
set
;}
  
        
[Display(Name =
"再次输入电子邮箱"
)]
        
[Compare(
"Email"
,ErrorMessage =
"{0}两次输入不一致"
)]  
//设置比较两个字段的值
        
public 
string 
EmailConfirm {
get
;
set
;}
  
        
[Display(Name =
"密码"
)]
        
[DataType(DataType.Password)]
        
public 
string 
Password {
get
;
set
;}
  
        
[Display(Name =
"备用电子邮箱"
)]
        
[DataType(DataType.EmailAddress,ErrorMessage =
"{0}格式不正确"
)]
        
public 
string 
email_B {
get
;
set
;}
}

  远程验证的通道:

public 
JsonResult CheckPhone(
string 
phone)
             
{
               
var 
result= StuInfoBll.FindPhone(phone).count == 0;
               
return 
Json(result, JsonRequestBehavior.AllowGet);
         
}

  效果:
    正常下的网页:

 

 

 

 

 

 

 

 

必须字段验证效果:

 

值范围、值类型验证效果:

 

正则验证和比较字段值效果:

 

数据类型验证效果:

转载地址:http://ihumf.baihongyu.com/

你可能感兴趣的文章
(PAT 1061) Dating (字符串处理)
查看>>
(PAT 1118) Birds in Forest (并查集)
查看>>
数据结构 拓扑排序
查看>>
(PAT 1040) Longest Symmetric String (DP-最长回文子串)
查看>>
(PAT 1145) Hashing - Average Search Time (哈希表冲突处理)
查看>>
(1129) Recommendation System 排序
查看>>
PAT1090 Highest Price in Supply Chain 树DFS
查看>>
(PAT 1096) Consecutive Factors (质因子分解)
查看>>
(PAT 1019) General Palindromic Number (进制转换)
查看>>
(PAT 1073) Scientific Notation (字符串模拟题)
查看>>
(PAT 1080) Graduate Admission (排序)
查看>>
Play on Words UVA - 10129 (欧拉路径)
查看>>
mininet+floodlight搭建sdn环境并创建简答topo
查看>>
【linux】nohup和&的作用
查看>>
【UML】《Theach yourself uml in 24hours》——hour4
查看>>
Set、WeakSet、Map以及WeakMap结构基本知识点
查看>>
【NLP学习笔记】(一)Gensim基本使用方法
查看>>
【NLP学习笔记】(二)gensim使用之Topics and Transformations
查看>>
【深度学习】LSTM的架构及公式
查看>>
【深度学习】GRU的结构图及公式
查看>>