asp.net mvc会自动根据属性的类型进行基本的校验,比如如果属性是int类型的,那么在提交非整数类型的数据的时候就会报错。
注意ASP.net MVC并不是在请求验证失败的时候抛异常,而是把决定权交给程序员,程序员需要决定如何处理数据校验失败。在Action中根据ModelState.IsValid判断是否验证通过,如果没有通过下面的方法拿到报错信息:string errorMsg = WebMVCHelper.GetValidMsg(this.ModelState);
Models代码:
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Linq;
using System.Web;
namespace Layout.Models
{
public class Tel
{
[Required(ErrorMessage = "必填")]
[Display(Name = "手机号")]
[RegularExpression(@"^1[34589][0-9]{9}$", ErrorMessage = "手机号码格式不正确!")]
public string PhoneNumber { get; set; }
}
}
视图层代码:
@model Layout.Models.Tel
@{
Layout = null;
}
<!DO