【问题标题】:How to validate a date of birth with a date of deceased textboxes using Jquery.ui.datepicker.css如何使用 Jquery.ui.datepicker.css 使用已故文本框的日期验证出生日期
【发布时间】:2014-09-03 20:20:56
【问题描述】:

我有一个我认为是通过 CssClass 引用 Jquery.ui.datepicker.css 的文本框? :

文本框 1- 出生日期(进行所有验证):

<asp:TextBox runat="server" ID="txtDOB" CssClass="small date"></asp:TextBox>

文本框 2- 死亡日期(需要从中提取数据以进行验证):

<asp:TextBox runat="server" ID="txtDOD" CssClass="small date"></asp:TextBox>

我不熟悉 jquery,但一直在尝试使用 C# 对这两个文本框进行编程,这可能吗?

jquery.ui.datepicker.css 这个类我也不太熟悉,它是从哪里来的?它是如何准确引用的?为什么选择它而不是典型的 asp.net 控件?

如果不是,我如何编写能够满足要求的 jquery 表达式(我需要正则表达式吗?)?

我正在努力满足这些要求: 它不能是未来的日期,并且必须小于死者的日期,并且必须至少在 18 年前。

感谢您提供的任何指导。

【问题讨论】:

    标签: c# javascript css asp.net jquery-ui


    【解决方案1】:

    jQuery UI Date Picker 只是将日期选择器添加到文本框。当您单击文本框时,会出现一个小日历,您可以选择所需的日期。在某些情况下,它比键入日期更容易。但是,它可能与您的问题无关。

    您需要在服务器端验证数据以确保不会收到错误数据,但最好在客户端也进行验证以避免往返服务器。您需要做的(在服务器和客户端上)是......

    1. 获取节育日期的值
    2. 获取已故控制日期的值
    3. 比较值
    4. 如果它们没有意义,请向用户提供一条错误消息,告诉他们纠正问题。

    服务器端示例:

    DateTime dob=DateTime.Parse(txtDOB.Text); //consider using an overloaded method to account for different date formats.
    DateTime dod=DateTime.Parse(txtDOD.Text); //consider using an overloaded method to account for different date formats.
    if(dob>dod)
    {
        //provide error message to the client
    }
    

    理想情况下,这个客户端逻辑应该发生在您的模型层中,并将某种验证摘要对象返回给 UI 层,然后 UI 层负责确定如何将其显示给客户端。

    我会将客户端示例留给其他人。请注意,您需要将 ClientIdMode 设置为静态,以便在控件中获得正确的 ID。

    【讨论】:

      猜你喜欢
      • 2012-03-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-02-24
      • 2011-06-29
      相关资源
      最近更新 更多