当前位置: 代码迷 >> ASP.NET >> .NET MVC3 有关问题!
  详细解决方案

.NET MVC3 有关问题!

热度:1905   发布时间:2013-02-26 00:00:00.0
求助 .NET MVC3 问题!!
我自己写了一个 MODEL验证特性
C# code
namespace Biz.WEB{    [AttributeUsage(AttributeTargets.Property | AttributeTargets.Field, AllowMultiple = false,Inherited=true)]    public class DateAttribute : ValidationAttribute    {        public DateAttribute()        {                    MinDate = new DateTime(1753, 1, 1).ToString();            MaxDate = new DateTime(9999, 12, 31).ToString();        }        public string MinDate        {            get;            set;        }        public string MaxDate        {            get;            set;        }        private DateTime minDate, maxDate;            private bool isFormatError = true;        public override bool IsValid(object value)        {                        if (value == null || string.IsNullOrEmpty(value.ToString()))                return true;            string s = value.ToString();            minDate = DateTime.Parse(MinDate);            maxDate = DateTime.Parse(MaxDate);            bool result = true;            try            {                DateTime date = DateTime.Parse(s);                isFormatError = false;                if (date > maxDate || date < minDate)                    result = false;            }            catch (Exception)            {                result = false;            }            return result;        }        public override string FormatErrorMessage(string name)        {           if (isFormatError)               return "请输入合法的日期";            return base.FormatErrorMessage(name);        }    }}


在MODEL里面
C# code
namespace MvcApplication4.Models{    public class Movie    {        [Key, DatabaseGenerated(DatabaseGeneratedOption.Identity)]        public int ID { get; set; }        [StringLength(10, MinimumLength = 2, ErrorMessage = "必须是2~10个字符长"), Required, Display(Name = "名称")]        public string Title { get; set; }        [Date(MaxDate = "2012-01-01", ErrorMessage = "2012地球灭亡啦"), Display(Name = "日期")]        public DateTime ReleaseDate { get; set; }        public string Genre { get; set; }        [Range(1, 100, ErrorMessage = "必须是1~100")]        public decimal Price { get; set; }        public string Rating { get; set; } }    public class MovieDBContext : DbContext    {        public DbSet<Movie> Movies { get; set; }    }}

其他几个都是用 MS 库自带的特性验证
就时间 是用我自己写的  
现在问题出现在 MS 自带的当鼠标离开就触发时间做验证 
我写的 一定要点 提交按钮 才能做验证 请问这是什么原因 求高手解答!!!!

------解决方案--------------------------------------------------------
看一下这篇文章:
http://msdn.microsoft.com/en-us/library/ff398048.aspx
  相关解决方案