2014-09-16 3 views
0

나는 datepicker를 적용한 텍스트 상자가 있습니다. 그리고 텍스트 상자는 필수 필드입니다. 문제는 날짜를 선택한 후에도 필수 필드 유효성 검사기 메시지가 표시되지 않는다는 것입니다. 참조를 위해 내 코드를 참조하십시오 : 필수 필드 검사기 문제

<asp:TextBox ID="txtdob" runat="server" CssClass="txtfld-popup1"></asp:TextBox> 
<asp:RequiredFieldValidator ID="reqDOB" runat="server" ControlToValidate="txtdob" ErrorMessage="*"></asp:RequiredFieldValidator> 
<cc1:TextBoxWatermarkExtender ID="TextBoxWatermarkExtender5" runat="server" TargetControlID="txtdob" WatermarkText="Enter your Date of Birth"></cc1:TextBoxWatermarkExtender> 

이 또한 내가라는 날짜 선택기의 JS을 발견하십시오

<script type="text/javascript"> 
    $(function() { 
     $("#txtdob").datepicker({ 
      changeMonth: true, 
      changeYear: true, 
      dateFormat: 'MM dd, yy', 
      minDate: "-58Y", 
      maxDate: "-18Y", 
      yearRange: "-58:-18", 
      showOn: "button", 
      buttonImage: "../images/cal.gif", 
      buttonImageOnly: true, 
      showOn: "both" 
     }); 
     $("#txtdob").on('keydown', function (e) { 
      e.preventDefault(); 
      e.stopImmediatePropagation(); 
      return false; 
     }); 
     $("#txtdob").on('cut copy paste', function (e) { 
      e.preventDefault(); 
      e.stopImmediatePropagation(); 
      return false; 
     }); 
     $("#format").change(function() { 
      $("#txtdob").datepicker("option", "dateFormat", $(this).val()); 
     }); 
     $("#btnSubmit").on("click", function() { 
      $('#lblDOB').text(""); 
      var isValid = Page_ClientValidate(""); 
      if (isValid) { 
       var dob = Date.parse($("#txtdob").val()); 
       if (isNaN(dob)) { 
        $('#lblDOB').text("Enter Proper Date of Birth."); 
        $('#lblDOB').css({ 'color': 'red' }); 
        return false; 
       } 
      } 
     }); 
    }); 
</script> 

이 도와주세요.

답변

0

필자는 텍스트 상자에서 워터 마크를 삭제하려고 시도했으며 필자의 요구 사항에 따라 유효성 검사를 받아 들였습니다.

<script type="text/javascript"> 
    $(function() { 
     $("input[id$=txtdob]").datepicker({ 
      changeMonth: true, 
      changeYear: true, 
      dateFormat: 'MM dd, yy', 
      minDate: "-58Y", 
      maxDate: "+0D", 
      yearRange: "-58:+0", 
      showOn: "button", 
      buttonImage: "../images/cal.gif", 
      buttonImageOnly: true, 
      showOn: "both" 
     }); 
     $("#txtdob").on('keydown', function (e) { 
      e.preventDefault(); 
      e.stopImmediatePropagation(); 
      return false; 
     }); 
     $("#txtdob").on('cut copy paste', function (e) { 
      e.preventDefault(); 
      e.stopImmediatePropagation(); 
      return false; 
     }); 
     $("#format").change(function() { 
      $("#txtdob").datepicker("option", "dateFormat", $(this).val()); 
     }); 
    }); 
</script> 

또한 관련 텍스트 상자의 HTML을 참조하십시오 : 나는 날짜를 선택 할 때마다

<asp:TextBox ID="txtdob" runat="server" CssClass="txtfld-popup1"></asp:TextBox> 
<asp:RequiredFieldValidator ID="reqDOB" runat="server" ControlToValidate="txtdob" ErrorMessage="Please enter yout date of birth"></asp:RequiredFieldValidator> 
0

"내가 말했던 Datepicker 용 JS를 찾아보십시오. 그 의미가 무엇인지 확실하지 않습니다. onchange 이벤트를 트리거하려면 먼저 입력을 흐리게 처리해야합니다. 정확도를 높이려면 oninput 이벤트를 사용하십시오.

$("#txtdob").on('input', function (e) { 
    e.preventDefault(); 
    e.stopImmediatePropagation(); 
    return false; 
}); 
+0

이 텍스트 상자는 필수 필드 유효성 검사기 메시지가 않을 것을의 bcoz 값을 허용하지 않습니다. – BNN

관련 문제