日期:2014-05-17  浏览次数:20361 次

MVC的一个验证问题,现象摆出来了,不知道是怎么回事,还望各位解释一下,谢谢
第一次提交空数据的时候错误提示信息均是我自定义的,如下图:



可是第二次我将数据填进去之后,那个发布时间的错误提示就不知道是从哪来的了,如下图:


图二中的错误可以自定义吗?
谢谢!

------解决方案--------------------
应该是用到了时间格式验证,都是可以修改的
------解决方案--------------------
那个是模型绑定的时候报的错
具体怎么改我得查查
------解决方案--------------------
你是用Jquery的Form验证扩展控件来验证的吧 ??
如果是,这个文本框应该被你设置了时间格式的验证,可以找到开源JS,找到对应的错误提示并修改。。
或者直接把你页面验证的JS贴出来帮你看看。。
------解决方案--------------------
public DateTime ReleaseDate { get; set; } 数据类型是日期,所以提示错误信息
------解决方案--------------------
C# code

 public class Movie
    {
        
        public int ID { get; set; }
        [Required(ErrorMessage="请输入电影名称")]
        [Display(Name = "电影名称")]
        public string Title { get; set; }
        [Required(ErrorMessage = "请输入电影发布时间")]
        [RegularExpression(@"^(\d{4})-(0\d{1}|1[0-2])-(0\d{1}|[12]\d{1}|3[01])$", ErrorMessage = "发布时间格式有误")]
        [Display(Name="发布时间")]
        public DateTime ReleaseDate { get; set; }
        [Required(ErrorMessage = "请输入电影类型")]
        [Display(Name="类型")]
        public string Genre { get; set; }
        [Required(ErrorMessage = "请输入电影票价")]
        [Range(1,100,ErrorMessage="票价必须在1-100元之间")]
        [Display(Name="票价")]
        public decimal Price { get; set; }
        [Required(ErrorMessage = "请输入电影分级")]
        [StringLength(5, ErrorMessage = "分级最多允许输入5个字符")]
        [Display(Name = "分级")]
        public string Rating { get; set; }
    }