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

时间:2011-06-07 10:14:52

标签: 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 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 个答案:

答案 0 :(得分:4)

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

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

ASP.NET MVC 3: Integrating with the jQuery UI date picker and adding a jQuery validate date range validator

答案 1 :(得分:2)

您无法使此代码在客户端自动运行。您必须在JavaScript中编写类似的验证代码,并配置jquery.validation以应用此验证方法。