2016-10-10 181 views
0

當前日期和年份正在驗證中,但我想添加一個複選框到列表中。添加複選框驗證

表單代碼:

var html = ''; 
    html += '<div class="ac-overlay"></div>'; 
    html += '<div class="ac-container">'; 
    html += '<h2>' + settings.title + '</h2>'; 
    html += '<p>' + copy.replace('[21]','<strong>'+settings.minAge+'</strong>'); + '</p>'; 
    html += '<div class="errors"></div>'; 
    html += '<div class="fields"><select class="month">';for(var i=0;i<months.length;i++){ 
    html += '<option value="'+i+'">'+months[i]+'</option>'} 
    html += '</select>'; 
    html += '<input class="day" maxlength="2" placeholder="01" />'; 
    html += '<input class="year" maxlength="4" placeholder="2016"/>'; 
    html +="<br><br>"; 
    html +='<p><input class="smoker" type="checkbox"/>Please verify that you are a smoker.</p>'; 
    html +="<br>"; 
    html += '<button>Submit</button></div></div>'; 

驗證腳本:

validate : function(){ 
_this.errors = []; 
if (/^([0-9]|[12]\d|3[0-1])$/.test(_this.day) === false) { 
_this.errors.push('Day is invalid or empty'); 
}; 
if (/^(19|20)\d{2}$/.test(_this.year) === false) { 
_this.errors.push('Year is invalid or empty'); 
}; 
_this.clearErrors(); 
_this.displayErrors(); 
return _this.errors.length < 1; 
}, 

我打得四處下面的代碼位,但缺少的東西:

if ("Not sure what to enter here to validate the checkbox.".test(_this.smoker) === false) { 
_this.errors.push('You have not selected if you are a smoker'); 
}; 
+0

您使用的驗證框架是什麼?此外,無法驗證複選框未被檢查,因爲用戶不是吸菸者,或者由於其他原因未選中該複選框。 –

+0

@MikeMcCaughan一旦提交按鈕被觸發,驗證腳本運行。目前在上面的塊中沒有檢查複選框狀態的部分。 添加我發佈到驗證的代碼的最後一位將嘗試驗證複選框,但我不知道要添加到該代碼驗證爲true,如果它選中的複選框。 – RAM

+0

那麼你只是想檢查複選框是否被選中? http://stackoverflow.com/q/9887360/215552。 –

回答

0

當時有點的解決辦法,但最終更改了複選框以啓用和禁用驗證按鈕。

$(document).ready(function(){ 
       $('#isAgeSelected').change(function(){ 
        if(this.checked) 
        $('#autoUpdate').fadeIn('slow'); 
        else 
        $('#autoUpdate').fadeOut('slow'); 
       }); 
       }); 

       html +="<br><br>"; 
       html += '<p><input type="checkbox" id="isAgeSelected"/> Please verify the date above is correct.'; 
       html += '<div id="autoUpdate" class="autoUpdate" style="display:none"><button>Submit</button></div>'; 
       html += '</div></div>'; 

看看它是如何在這裏工作:http://jsfiddle.net/3WEVr/1135/