在access数据库中有日期型字段,在ASP.NET页面中怎么验证输入的是正确的日期?验证不能输入2009-6-31(6月没有31日),不然access日期型不接受,页面显示异常。在ASP.NET页面中使用一些别人写好的函数验证比较复杂,不知道有没有方法取得access数据库的异常。

解决方案 »

  1.   

    楼主是什么意思不太懂,为什么要取得access数据库的异常呢?在页面里面验证就好了啊。
    public static bool checkDate(object str)
    {
    datetime dt=new datetime();
    try
    {
    dt=datetime.parse(str);
    return dt;
    }
    catch
    {
    //错误信息
    }
    }
    没有测试,楼主可以试试
      

  2.   

    有一个Custom验证控件,里面可以按照ls的datetime.parse进行验证就好了啊
      

  3.   

    可以参考以下的代码看看
    http://www.aspx58.com.cn/Default_AC_View.aspx?ID=p%2BL3W79uSgQ=
    http://www.aspx58.com.cn/Default_AC_View.aspx?ID=FyxzBS3SbZo=
      

  4.   

    这是验证日期的正则表达式:
      <asp:TextBox ID="TextBox1" runat="server" Width="107px" ></asp:TextBox> <asp:RegularExpressionValidator ID="RegularExpressionValidator2" runat="server" ErrorMessage="日期不符合格式" ControlToValidate="TextBox1" ValidationExpression="^((\d{2}(([02468][048])|([13579][26]))[\-\/\s]?((((0?[13578])|(1[02]))[\-\/\s]?((0?[1-9])|([1-2][0-9])|(3[01])))|(((0?[469])|(11))[\-\/\s]?((0?[1-9])|([1-2][0-9])|(30)))|(0?2[\-\/\s]?((0?[1-9])|([1-2][0-9])))))|(\d{2}(([02468][1235679])|([13579][01345789]))[\-\/\s]?((((0?[13578])|(1[02]))[\-\/\s]?((0?[1-9])|([1-2][0-9])|(3[01])))|(((0?[469])|(11))[\-\/\s]?((0?[1-9])|([1-2][0-9])|(30)))|(0?2[\-\/\s]?((0?[1-9])|(1[0-9])|(2[0-8]))))))(\s(((0?[1-9])|(1[0-2]))\:([0-5][0-9])((\s)|(\:([0-5][0-9])\s))([AM|PM|am|pm]{2,2})))?$" Display="Dynamic"></asp:RegularExpressionValidator>
      

  5.   

    会用.net的验证控件吗..?你要是不会你查查资料...就如楼上那位兄弟就行了...
      

  6.   

    通过正则验证日期,或用My97DatePicker等控件选择日期
    ^\d{4}-((0[1-9])|(1[0-2]))-(([0-2][1-9])|([1-2]0)|(3[0-1])) [0-5]\d:[0-5]\d:[0-5]\d$
    参考