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);