C# 自定义属性的Jquery客户端验证

C# 自定义属性的Jquery客户端验证,c#,jquery,validation,asp.net-mvc-3,C#,Jquery,Validation,Asp.net Mvc 3,我已创建自定义验证属性: public sealed class DateAttribute : DataTypeAttribute { /// <summary> /// Initializes a new instance of the <see cref="EmailAddressAttribute"/> class. /// </summary> public DateAttrib

我已创建自定义验证属性:

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;
        }
}
公共密封类DateAttribute:DataTypeAttribute
{
/// 
///初始化类的新实例。
/// 
public DateAttribute():基(DataType.Date)
{
}
/// 
///检查数据字段的值是否有效。
/// 
///要验证的数据字段值。
/// 
///永远如此。
/// 
公共覆盖布尔值有效(对象值)
{
DateTime inputDate=Convert.ToDateTime(值,CultureInfo.CurrentCulture);

如果(inputDate.Date>=DateTime.Now.Date.AddMonths(-2)&&inputDate.Date您无法使此代码在客户端自动运行。您必须用JavaScript编写类似的验证代码,并配置jquery.validation以应用此验证方法。

Stuart Leeks有一篇关于使用jquery datepicker构建日期范围验证程序(包括客户端)的博客文章

它可能比你需要的更多,但它肯定会满足你的需求


你能帮助我吗,我如何用javascript编写类似的代码,以及要采取什么步骤。我觉得这并不容易。你必须将日期解析为javascript日期对象,并且解析会因不同的文化而不同。如果我是你,我会想其他一些处理日期的方法。例如,