Validation group fields using datepicker and validation plugin

Validation group fields using datepicker and validation plugin

Hi all,

I want to validate a group fields using datepicker and validation plugin. My problem is when i change one value (textbox), all elements aren't re-validated. 
Ex:
I manually select textbox to change value:
-Textbox 1: 5/5/1987 -> (return true, because (now - date of birth) > 18).
-Textbox 2: 5/5/2000 -> Error 2 (return false -> display error 2,  because ( issued date -  date of birth ) <14 ).

If i change textbox 1: 5/5/1980, textbox 2 isn't re-validated and still display error2, although (issued date - new date of birth) > 14. 

Here my js code:
compareDate and compareDateStr are functions to return boolean after checking inputting conditions.
  1.     $('.datepicker').datepicker();
  2.     //Validate email and phone number
  3.             $("#mainForm").validate({
  4.                 messages:
  5.                 {
  6.                     txtDOB:
  7.                     {
  8.                         checkDateOfBirth: "Error1!"
  9.                     },
  10.                    txtIdIssueDate:
  11.                   {
  12.                          checkIdentityCard: "Error2!"
  13.                    }
  14.                 },
  15.                 invalidHandler: function(event, validator) {
  16.                     event.preventDefault();
  17.                     event.stopPropagation();
  18.                 }
  19.             });
  20.             /**
  21.             * Check date of birth
  22.             * @return: true if (now - date of birth) >= 18
  23.             */
  24.             $.validator.addMethod("checkDateOfBirth", function(value, element){
  25.                       var inputDate = $('#txtDOB').val();
  26.                       var currdate = new Date();
  27.                       var yearInput = 18;
  28.                       return compareDate(inputDate, currdate, yearInput, '>=');
  29.             });
  30.             /**
  31.             * Check identity card if idtype = IC
  32.             * @return: true if (issuedt date - date of birth) >= 14
  33.             */
  34.             $.validator.addMethod("checkIdentityCard", function(value, element){
  35.                       if ($("#drlIdType").val() == 'IC')
  36.                       {
  37.                           frDate = $("#txtDOB").val();
  38.                           var toDate = $("#txtIdIssueDate").val();
  39.                           var yearInput = 14;
  40.                           return compareDateStr(frDate, toDate, yearInput, '>=');
  41.                       }
  42.                       else
  43.                       {
  44.                         return true;
  45.                       }
  46.             });
  47.             var test = {
  48.                 txtCheckDateOfBirth: {
  49.                     checkDateOfBirth: true
  50.                 },
  51.                txtIdIssueDate: {
  52.                    checkIdentityCard: true
  53.                 }
  54.             }
  55.             $("#txtDOB").rules('add', test['txtCheckDateOfBirth']);
  56.           $("#txtIdIssueDate").rules('add', test['txtIdIssueDate']);
  57.             $(".datepicker").datepicker('option', {
  58.                         onSelect: function(dateText, inst){
  59.                         $(this).valid();
  60.                   }
  61.              });