csharp net 4中 model上的验证

net 4中
除了 Required 外,System.ComponentModel.DataAnnotations 命名空间还提供了其他一些常用的数据验证注解,用于验证不同类型的数据。以下是一些常见的注解:

Range: 用于验证数字类型的属性的值是否在指定的范围内。

csharp
复制代码
[Range(1, 100, ErrorMessage = “Value for {0} must be between {1} and {2}.”)]
public int Age { get; set; }
StringLength: 用于验证字符串类型的属性的长度是否在指定的范围内。

csharp
复制代码
[StringLength(100, MinimumLength = 2, ErrorMessage = “The {0} must be at least {2} and at max {1} characters long.”)]
public string Name { get; set; }
RegularExpression: 用于验证字符串类型的属性是否满足指定的正则表达式模式。

csharp
复制代码
[RegularExpression(@“1{1,40}$”, ErrorMessage = “Characters are not allowed.”)]
public string Description { get; set; }
Compare: 用于比较两个属性的值是否相等,通常用于确认密码等场景。

csharp
复制代码
[Compare(“Password”, ErrorMessage = “The password and confirmation password do not match.”)]
public string ConfirmPassword { get; set; }
EmailAddress: 用于验证字符串是否符合电子邮件地址的格式。

csharp
复制代码
[EmailAddress(ErrorMessage = “Invalid Email Address”)]
public string Email { get; set; }
Phone: 用于验证字符串是否符合电话号码的格式。

csharp
复制代码
[Phone(ErrorMessage = “Invalid Phone Number”)]
public string PhoneNumber { get; set; }
RegularExpression: 用于验证字符串是否符合指定的正则表达式模式。

csharp
复制代码
[RegularExpression(@“2*$”, ErrorMessage = “Value must be numeric”)]
public string ZipCode { get; set; }

在方法中调用验证
var errorMessage = “”;
if (!ModelState.IsValid) {
foreach (var key in ModelState.Keys)
{
var errors = ModelState[key].Errors;
if (errors.Any())
{
errorMessage+= errors.FirstOrDefault().ErrorMessage;
//处理错误信息
}
}

}
if (!string.IsNullOrEmpty(errorMessage)) {
errMsg=errorMessage;
return false;
}


  1. a-zA-Z’‘-’\s ↩︎

  2. 0-9 ↩︎

  • 4
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

卢小亦

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值