【问题标题】:Jquery client validation for custom attribute自定义属性的 Jquery 客户端验证
【发布时间】:2011-09-09 23:06:29
【问题描述】:

我创建了一个自定义验证属性:

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 工作?

谢谢, -娜莲

【问题讨论】:

    标签: c# jquery validation asp.net-mvc-3


    【解决方案1】:

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

    【讨论】:

    • 你能帮帮我吗,我怎样才能在javascript中编写类似的代码以及要采取的步骤。
    • 这对我来说听起来并不容易。您必须将日期解析为 JavaScript Date 对象,并且解析会因不同的文化而异。如果我是你,我会想一些其他的日期处理方式。例如,jqueryui.com/demos/datepicker
    【解决方案2】:

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

    它可能超出您的需要,但它肯定会满足您的需求。

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

    【讨论】:

      猜你喜欢
      • 2014-03-27
      • 1970-01-01
      • 2015-03-26
      • 2012-03-06
      • 2014-11-03
      • 2011-06-12
      • 2013-11-12
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多