2011-06-07 253 views
2

jQuery的客户端验证我创建了一个自定义验证属性:自定义属性

public sealed class DateAttribute : DataTypeAttribute 
    { 
     /// <summary> 
     /// Initializes a new instance of the <see cref="EmailAddressAttribute"/> class. 
     /// </summary> 
     public DateAttribute() : base(DataType.Date) 
     { 
     } 

     /// <summary> 
     /// Checks that the value of the data field is valid. 
     /// </summary> 
     /// <param name="value">The data field value to validate.</param> 
     /// <returns> 
     /// true always. 
     /// </returns> 
     public override bool IsValid(object value) 
     { 
      DateTime inputDate = Convert.ToDateTime(value, CultureInfo.CurrentCulture); 

      if (inputDate.Date >= DateTime.Now.Date.AddMonths(-2) && inputDate.Date <= DateTime.Now.Date.AddMonths(2)) 
       return true; 

      return false; 
     } 
} 

上面的代码需要回发到服务器,我怎么能得到这个使用jQuery在客户端的工作吗?

感谢, -Naren

回答

2

你不能让这段代码工作的客户端自动的。您必须在JavaScript中编写类似的验证代码,并配置jquery.validation以应用此验证方法。

+0

能否请你帮我,我怎么能写在JavaScript代码similarr,什么是将要采取的步骤。 – 2011-06-07 12:52:27

+0

这听起来不容易。您必须将日期解析为JavaScript Date对象,并且解析将随着不同的文化而变化。如果我是你,我会想到其他一些日期处理方式。例如,http://jqueryui.com/demos/datepicker/ – Zruty 2011-06-07 14:15:56