2013-05-13 12 views
2

내 폼 레이아웃이 아래 비슷합니다 선택 나는 jquery.jsjquery.validate.js 파일을 포함했다.양식 유효성 검사는

여기에서 3 선택 옵션이 있습니다. 적어도 하나의 선택 옵션 만 유효성을 검사해야합니다.

답변

0
function selectValidate() { 
    var check = false; 
    $.each($('select'), function(index, data) { 
     if (data.val() !== ''){ 
       check = true; 
     } 
    }); 
    return check; 
} 
0

는 자신의 검증 방법 작성 :

$.validator.addMethod("selectNone", function(value, element) {if (element.value == " ") {return false;} else {return true};}), 

을 다음 규칙에 추가 : HTML 코드에 무슨 문제가 있나요

yourSelectID1: {required:true, selectNone:true}, 
yourSelectID2: {required:true, selectNone:true}, 
yourSelectID3: {required:true, selectNone:true}, 
0

. <option value=''>select option</select>을 각각 <option value=''>select option</option>으로 변경해야합니다. 그래서 HTML은 다음과 같이 될 것입니다 : (필자는 기능을 보여주기 위해 제출 버튼을 추가)

jsFiddle Live Demo

HTML 주요 기능은 validateSelects()입니다

<form action='' method="post" id='myform' > 
<select name='select1' > 
<option value=''>select option</option> 
<option value='a'> a </option> 
<option value='b'> b </option> 
<option value='c'> c </option> 
</select> 
<select name='select2' > 
<option value=''>select option</option> 
<option value='e'> e </option> 
<option value='f'> f </option> 
<option value='g'> g </option> 
</select> 
<select name='select3' > 
<option value=''>select option</option> 
<option value='h'> h </option> 
<option value='i'> i </option> 
<option value='j'> j </option> 
</select> 
<input type='submit' value='validate '> 
</form> 

.
JS

function validateSelects() 
{ 
    var m = false; 
    $.each($('select'),function() 
    { 
     if($(this).val() != ''){ m=true; } 
    }); 
    return(m); 
} 
// For the functionality. 
$('#myform').on('submit',function() 
{ 
    return validateSelects(); 
}); 
관련 문제