I am validating date using customvalidator but this is not working well can any one tell why
This is my .aspx
    <script type="text/javascript">
function monthDiff(d1, d2) {
    var months;
    months = (d2.getFullYear() - d1.getFullYear()) * 12;
    months -= d1.getMonth() + 1;
    months += d2.getMonth();
    return months;
}
function difference(d1,d2){
var hiredate,dob;
var diff=18*12;
hiredate=document.getElementById(d1).value;
dob=document.getElementById(d2).value;
var months=monthDiff(hiredate,dob);
if(diff<=months)
{
return true;
//true
}
else
{
return false;
//false
}
}
function validatehiredate(value, arg) {
                arg.IsValid = (difference('ctl00_Conten开发者_JAVA百科tPlaceHolder1_txtHiredate','ctl00_ContentPlaceHolder1_txtDateofBirth'));
            }
</script>
 <asp:TextBox id="txtHiredate" runat="server" />
 <asp:TextBox id="txtDateofBirth" runat="server" />
 <asp:CustomValidator ID="CustomValidator1" runat="server" ClientValidationFunction="validatehiredate" ControlToValidate="txtDateofBirth" ValidationGroup="personal" Display="Dynamic" ValidateEmptyText="True">can not hire guy less than 18 yrs</asp:CustomValidator>
Can any one tell what's wrong in this
change your monthDiff function to the below:
 function monthDiff(d1, d2) {
        var months;
        var date1 = new Date(d1);
        var date2 = new Date(d2);
        months = (date2.getFullYear() - date1.getFullYear()) * 12;
        months -= date1.getMonth() + 1;
        months += date2.getMonth(); return months;
       }
you can't use the getFullYear or getMonth on anything other than date objects.
I am going to make the assumption that you're browser is throwing a javascript error, it's just not popping up
EDIT
        function getDays(d1, d2) {
            var months;
            var date1 = new Date(d1);
            var date2 = new Date(d2);
            return (date2 - date1) / (1000 * 60 * 60 * 24);
            return months;
        }
        //function getLeapYear
        function difference(d1, d2) 
        {
            var hiredate, dob; var diff = 18 * 12;
            hiredate = document.getElementById(d1).value;
            dob = document.getElementById(d2).value;
            var Age = getDays(hiredate, dob);
            var compareVal = 365 * 18; //getCompareVal(hiredate,dob);
            if (Age >= compareVal) {
                return true;
                //true
            } else {
                return false; //false
            }
        }
 
         
                                         
                                         
                                         
                                        ![Interactive visualization of a graph in python [closed]](https://www.devze.com/res/2023/04-10/09/92d32fe8c0d22fb96bd6f6e8b7d1f457.gif) 
                                         
                                         
                                         
                                         加载中,请稍侯......
 加载中,请稍侯......
      
精彩评论