public class UserValidata { [Required(ErrorMessage = "用户名不能为空!")] [StringLength(6, ErrorMessage = "长度不能少与6位")]//长度校验 public string Name { get; set; } //邮箱验证 [Required(ErrorMessage = "邮箱不能为空!")] [MyValidataAttribute(ErrorMessage = "邮箱格式不正确")] public string Mail { get; set; } } //使两个类相关联 //将UserValidata作为 Users类的元数据描述对象()MetadataType,与view的交互仍是由Users进行 [MetadataType(typeof(UserValidata))] public partial class Users//部分类 { }
邮箱和长度校验都无效,
Required校验正常
StringLength(6, ErrorMessage = "长度不能少与6位") 这里的6是最长,如果你要不小于6位,应该是这样的:StringLength(120, ErrorMessage = "长度不能少与6位", MinimumLength = 6)
MyValidataAttribute(ErrorMessage = "邮箱格式不正确")这个应该是你自定义特性了,要看看自定义特性的定义方式。我一般用邮箱的验证都是这样个特性[RegularExpression(@"^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$", ErrorMessage = "则邮件地址不合法。")]
谢谢,邮箱校验无效是因为没有添加注册
你页面上添加验证了吗?
@Html.TextBoxFor(x => x.Name)
@Html.ValidationMessageFor(x => x.Name)
已经解决了
[StringLength(6, ErrorMessage = "长度不能少与6位")]//长度校验 是参数错了
[MyValidataAttribute(ErrorMessage = "邮箱格式不正确")] 自定义的特性,没有在global中添加注册