2012-05-17 3 views
0

확인란을 선택한 경우에만 표시되는 섹션이 내 양식에 있습니다. 그래서 tho의 필드에 대한 나의 유효성 검사는 체크 박스가 체크 된 경우에만 적용되어야합니다. 내 코드가 작동하지 않습니다.유효성 검사 확인란에 따라 다릅니 까?

http://docs.jquery.com/Plugins/Validation

// Validation 

function validateForm() { 
    $('#frmMain').validate({ 
     rules: { 

      SuretyFullName: { required: '#chkSurety:checked' } //if required: true it works all the time. 
     }, 
     messages: { 
      SuretyFullName: { required: 'Required' } 
     }, 

     submitHandler: function (form) { 
      $('#btnSubmit').click(); 

     } 
    }); 
} 

코드 편집 : 조언을 다음

내가 지금까지 가지고와에이 정보를 찾을 것입니다 형태는 비 응답하지 :

$(document).ready(function(){ 
    $("#btnSubmit").click(function(){ 
if($('#chkSurety').is(":checked")) 
{ 
function validatesurety(){ 
$('#frmMain').validate({ 
rules: {  
      SuretyFullName: { required: true } 
      }, 
     messages: { 
      SuretyFullName: { required: 'Required' } 
     } 
    }); 
} 

답변

1
function validateForm() { 
    $('#frmMain').validate({ 
     rules: { 

      SuretyFullName: { required: function (element) { if ($('#chkSuretyShip').is(':checked')) { return true } else { return false} } },   
     }, 
     messages: { 
      SuretyFullName: { required: 'Required' } 
     }, 

     submitHandler: function (form) { 
      $('#btnSubmit').click(); 

     } 
    }); 
}  
2

방금 ​​수 그것을 확인한 다음 기능을 실행하십시오.

$(document).ready(function(){ 
//the submit click 
     $("#submit").click(function(){ 
    if($('#checkboxid').is(":checked"))// check if the checkbox checked if yes 
    { 
    //then call you function 
    function validateForm() ; 
    } 
     }); 
    }); 
+0

하지만 내 유효성 검사는 전체 양식입니까? 내 체크 박스가 선택된 경우에만 유효성 검사가 수행됩니다. – Pomster

+0

기본적으로 유효성 확인 기능을 실행하는 경우 확인란을 선택하면 위의 설명보다 –

+0

이 시도했지만 새로운 기능 Validatesurety(),하지만이 작동하지 않습니다. $ (document)는 문서로 남겨 두거나 무엇인가로 변경해야합니까? – Pomster

2

validateForm 함수 내에서이 넣어 :

// set the default rules 
var rules = { 
    SuretyFullName: { required: false }, 
    SuretyIDNumber: { required: true}, 
    SuretyPhysicalAddress: { required: true }, 
    SuretyHomeTel: { required: true}, 
    SuretyPlace: { required: true}, 
    SuretyDay: { required: true }, 
    SuretyMonth: { required: true } 
}; 

// override the full name rule, based on the checkbox 
rules.SuretyFullName.required = $('#chkSurety').is(':checked'); 

$('#fmrMain').validate({ 
     rules: rules, 
     ... 
}); 
관련 문제