asp中年龄限制(15岁以上)的日期验证 [英] Date validation for Age limit (above 15 years) in asp

查看:155
本文介绍了asp中年龄限制(15岁以上)的日期验证的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

以下代码给出了任何日期的错误消息,我需要显示当前日期15岁以下的错误消息,请帮助我



The below code gave error message for any date, i need to display error message for below 15 years age from the current date please help me

<asp:Label ID="Label2" runat="server" Text="DOB"></asp:Label>
  <asp:TextBox ID="DOB" runat="server"></asp:TextBox>
  <asp:RequiredFieldValidator ID="RFVdob" runat="server" ControlToValidate="DOB" ErrorMessage="Enter Birth Date" Font-Bold="True" ForeColor="Red"></asp:RequiredFieldValidator>
  <asp:RegularExpressionValidator ID="RegularExpressionValidator1" runat="server" ControlToValidate="DOB"    ValidationExpression="^(0[1-9]|1[012])[- /.](0[1-9]|[12][0-9]|3[01])[- /.](19|20)\d\d$" ErrorMessage="Enter a Valid Date (mm/dd/yyyy)" Font-Bold="True" ForeColor="Red" ></asp:RegularExpressionValidator>

   <asp:RangeValidator ID="RangeValidator1" runat="server" ControlToValidate="DOB"  ErrorMessage="Age above 15 " Type="Date"></asp:RangeValidator>







Page Lode中的代码:






Code in Page Lode:

System.Threading.Thread.CurrentThread.CurrentCulture = new System.Globalization.CultureInfo("hu-HU");
        RangeValidator1.MinimumValue = DateTime.Today.AddYears(-15).ToShortDateString();
        RangeValidator1.MaximumValue = DateTime.Today.ToShortDateString();

推荐答案

ErrorMessage = 输入有效日期(mm / dd / yyyy) Font-Bold = True ForeColor = 红色 > < / asp:RegularExpressionValidator >

< asp:RangeValidator ID = RangeValidator1 runat = < span class =code-keyword> server ControlToValidate = DOB ErrorMessage = 年龄超过15 类型 = 日期 > < / asp:RangeValidator >
" ErrorMessage="Enter a Valid Date (mm/dd/yyyy)" Font-Bold="True" ForeColor="Red" ></asp:RegularExpressionValidator> <asp:RangeValidator ID="RangeValidator1" runat="server" ControlToValidate="DOB" ErrorMessage="Age above 15 " Type="Date"></asp:RangeValidator>







Page Lode中的代码:






Code in Page Lode:

System.Threading.Thread.CurrentThread.CurrentCulture = new System.Globalization.CultureInfo("hu-HU");
        RangeValidator1.MinimumValue = DateTime.Today.AddYears(-15).ToShortDateString();
        RangeValidator1.MaximumValue = DateTime.Today.ToShortDateString();


我有一个类似的要求才能验证18岁及以上。



我使用了自定义验证器(如果可以,我会尽量避免使用正则表达式)

I had a similar requirement before to validate for age 18 and over.

I used a custom validator (i try to avoid regular expressions if i can)
<asp:CustomValidator ID="cvDOB" runat="server" ControlToValidate="pmDOB"

    ClientValidationFunction="VAge"

    ErrorMessage="Birth Date is under age 18."

    ForeColor="Red">*</asp:CustomValidator>





以下是检查18岁以上的javascript



Here is the javascript to check for age over 18

function VAge(obj, args) {
        //validate that a DOB is at least 18 years old.
        //http://www.codingforums.com/showthread.php?t=171435
        var today = new Date();
        var today_year = today.getFullYear();
        var value = Trim(args.Value);
        value = value.replace("-", "/").replace(".", "/");
        var splitDate = value.split("/");
        var dob_year = splitDate[2];
        var dob_day = splitDate[1];
        var dob_month = splitDate[0];
        var dob;

        dob = new Date(dob_year, dob_month - 1, dob_day); // as months are 0-11
        if ((dob_day == dob.getDate()) && (dob_month == (dob.getMonth() + 1)) && (dob_year == dob.getFullYear())) {
            dob_month = dob_month - 1; // as months are 0-11
            var age = today_year - dob_year;
            var today_month = today.getMonth();
            var today_day = today.getDate();
            if (dob_month > today_month) { age = age - 1 }  // next birthday not yet reached
            else if (dob_month == today_month && today_day < dob_day) { age = age - 1 }  // next birthday not yet reached
            if (age < 18) {
                args.IsValid = false;
                return;
            }
        }
        else {
            args.IsValid = false;
            return;
        }

        args.IsValid = true;
    }


这篇关于asp中年龄限制(15岁以上)的日期验证的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆