0
我有一個我想驗證的表單(使用jQuery驗證插件)。問題是我需要在提交驗證之前對錶單值進行一些預處理。複雜的jquery驗證
例如,一個驗證案例是用戶在表單中定義的開始時間不能在此之前。我有兩個組件,我需要從中獲取值以獲取開始時間。
以下是我目前捕捉:
var mtgStart = new Date(startDate.getFullYear() + '-' + (startDate.getMonth() + 1) + '-' + startDate.getDate() + ' ' + sTime);
我已閱讀,我可以通過這些PARAMS(開始時間)到驗證這樣的:
var defaults = jQuery.extend(validationPluginDefaults, {
ignore:'',
rules: {
meetingName:{
mtgNameRequired:true
},
e2: {
startTimeInPast:false
startTime:mtgStart
}
}
});
jQuery("form[ id='mtg_form' ]").validate(defaults);
的問題是,我在哪裏創建「mtgStart」變量在這裏?
而我的驗證方法是這樣的:
jQuery.validator.addMethod("lowerInt", function(value, element, params) {
var now = new Date();
var mtgStart = params[0]:
return now < mtgStart;
}
UPDATE:
我觸發現在提交按鈕的點擊驗證;沒問題。現在的問題是我如何將參數傳遞給jquery驗證插件?我試過使用JavaScript數組(我已閱讀),但我無法訪問它。這裏是我的代碼:
jQuery.validator.addMethod("createMtgInPast", function(val, el, params){
var now = new Date();
var mtgStart = params[0];
var nowTime = now.getTime();
var setTime = mtgStart.getTime();
return nowTime < setTime;
},「在過去無法創建會議。」 );
這是我的點擊處理程序提交按鈕:
$('#submit_btn').click(function(data)
{
// Concatenate the start/end dates and their times.
var newStart = new Date(startDate.getFullYear() + '-' + (startDate.getMonth() + 1) + '-' + startDate.getDate() + ' ' + sTime);
var newEnd = new Date(endDate.getFullYear() + '-' + (endDate.getMonth() + 1) + '-' + endDate.getDate() + ' ' + eTime);
var defaults = jQuery.extend(validationPluginDefaults, {
rules: {
meetingName:{
mtgNameRequired:true
},
e2: {
createMtgInPast: true,
data:['TEST']
}
}
});
$("#mtg_form").validate(defaults);