2010-02-18 6 views
10

मैं दिनांक दिनांकक प्लगइन के साथ http://plugins.jquery.com/project/datepick पर jquery datepicker प्लगइन का उपयोग कर रहा हूं।jQuery डेटपिकर सत्यापन संदेश समस्या

<script id="frmValidation" type="text/javascript"> 

$(document).ready(function(){ 
    var validator = $("#frmTest").validate({ 
     rules:{ 
      fname: "required", 
      dobPicker: "required" 
     }, 
     messages:{ 
      fname: "Please enter a name", 
      dobPicker: "Select a date" 
     }, 

    }); 
    $('#dobPicker').datepick(); 
    $.datepick.setDefaults({showOn: 'both', dateFormat: 'dd-mm-yy', yearRange:'1900:2010'}); 
}); 
</script> 

और दस्तावेज़ के मुख्य भाग इस प्रकार है:

<form id="frmTest" action="" method="post"> 
<div id="error-list"></div> 
<div class="form-row"> 
<span class="label"><label for="fname">Name</label></span> 
<input type="text" name="fname" /> 
</div> 
<div class="form-row"> 
<span class="label"><label for="dobPicker">DOB</label></span> 
<input type="text" id="dobPicker" name="dobPicker" style="margin-left: 4px;"/> 
</div> 
<div class="form-row"> 
<input type="submit" name="submit" value="submit"/> 
</div> 
</form> 

प्रपत्र पहली बार लेकिन datepicker एक तिथि का चयन किया जाता तुरंत गायब नहीं करता है के लिए त्रुटि संदेश की पुष्टि करता है .. लेकिन यह हो जाता है अगर तारीख दूसरी बार चुना जाता है तो दूर। किसी भी मदद के यह पहली बार एक तिथि का चयन किया जाता

+0

मुझे लगता है यह कि घटनाओं datepicker उत्पन्न करता है के साथ क्या करने के लिए कुछ है, मान्यता प्लगइन केवल कुछ घटनाओं पर मान्य करता है .. – Abhishek

+0

अधिक जानकारी के लिए देखें: https://github.com/ posabsolute/jQuery-प्रमाणीकरण-इंजन/मुद्दों/70 –

उत्तर

21

सराहना की जाएगी जाना बनाने के लिए आप अपने datepicker चूक में इस सेट करना चाहते हैं: जैसे ही एक और तारीख का चयन किया जाता

onClose: function() {$(this).valid();}, 

यह सत्यापनकर्ता प्लगइन कर देगा क्षेत्र को दोबारा जांचें।

+0

बहुत बढ़िया !! यह काम किया :) धन्यवाद। – Abhishek

+7

आप वास्तव में 'चयन करना चाहते हैं: फ़ंक्शन() {$ (यह)। Valid(); }, अन्यथा, यदि आप फॉर्म सबमिट होने तक आग को वैध नहीं करना चाहते हैं, तो यदि व्यक्ति डेटापिकर (फ़ील्ड पर फ़ोकस सेट करके) खोलता है तो सत्यापन त्रुटि संदेश तब आग लग जाएगा जब वे किसी अन्य फ़ील्ड पर फ़ोकस करते हैं। यदि आप इसे चुनते हैं, तो वे वास्तव में मान का चयन करते समय फ़ील्ड को चिह्नित करेंगे। – JustinP8

3

"सर्वश्रेष्ठ उत्तर" मेरे लिए काम नहीं करता था। मुझे पता चला कि वैधकर्ता तारीख प्रारूप को मान्य कर रहा था, भले ही मैंने इसे नहीं पूछा था। यहाँ मेरी समाधान है:

$('form').validate(
    rules: 
    { 
     MyDateControl:{ 
      required:true, 
      date:false 
     } 
    } 
);