2014-03-07 57 views
1

我正在使用jQuery与daterangepicker验证。我尝试选择日期时遇到问题。当我第一次选择它时,它不显示“你好”,但第二次显示“你好”,当我点击下一个按钮时,我真正想要做的是验证这个字段。当我点击按钮时,为了验证它,我怎样才能避免执行“checkDate”?daterangepicker触发器验证当我拿起日期

在这里你可以看到我的代码:

$("#form_step1").validate({ 
    rules: { 
     titulo: { 
      required: true, 
      maxlength: 300 
     }, 
     reservationtime1: { 
      required: true, 
      checkDate: true 
     } 
    }, 
    messages: { 
     titulo: "At least 300 characters", 
     reservationtime1: "You must pick up a valid date" 
    }, 
    highlight: function(element) { 
     $(element).closest('.form-group').addClass('has-error'); 
    }, 
    unhighlight: function(element) { 
     $(element).closest('.form-group').removeClass('has-error'); 
    }  
}); 
jQuery.validator.addMethod("checkDate", function(value, element) { 
// My custom validation 
alert("Hello"); 
}); 

http://jsfiddle.net/B79z7/2/

感谢

回答

0

表单验证将无法正常工作,直到你,如果你想它的工作给予一定的更新上输入元素的值默认值为日期范围输入。

DEMO

<input type="text" value="Enter the date " name="reservationtime1" id="reservationtime1" 
         class="form-control" readonly="readonly"/> 

UPDATE:对不起,我误会了问题,如果是这样的话,那么移动的validate()的#next.click方法中作为#next是一个锚,也没有提交按钮,所以应用按钮点击表单验证方法被调用。

DEMO 2

+0

其实我想验证的日期时,我当我拿起一个日期上的按钮,点击下一步,而不是。 – Guillermo

+0

@Guillermo我已经更新了ans希望这个帮助。 – Neha

0

尝试增加onfocusout:false,您验证选项。

$("#form_step1").validate({ 
    onfocusout:false, 
    rules: { 
     titulo: { 
      required: true, 
      maxlength: 300 
     }, 
     reservationtime1: { 
      required: true, 
      checkDate: true 
     } 
    }, 
    //.... 
}); 

这似乎呼叫限制CheckDate被点击下一步按钮,只有当:http://jsfiddle.net/ryleyb/B79z7/7/