2016-07-08 7 views
5

मैं Jquery FormValidatorजन्मदिन विशेषता का उपयोग कर रहा हूं।formvalidator.net की दिनांक सत्यापनकर्ता का उपयोग करके न्यूनतम आयु कैसे सेट करें?

लेकिन,

यह निर्धारित किया गया है कि यह केवल अतीत तिथियाँ और उन तिथियों से अधिक उम्र के 120 वर्षों के नहीं है की अनुमति देता है।

मुझे सिर्फ एक और सत्यापन चाहिए, यानी, इसे 18 वर्ष से कम आयु की उम्र भी अनुमति नहीं देनी चाहिए।

मैं इसे कैसे प्राप्त कर सकता हूं?

उत्तर

4

आप Date-Module से दिनांक सत्यापनकर्ता का उपयोग कर सकते हैं और custom validator जोड़ सकते हैं।

मैंने अभी लाइन var requiredAge = 18; जोड़ा और सत्यापन में var जोड़ा।

https://jsfiddle.net/03ehx9ns/

$.validate({ 
 
    modules : 'date' 
 
}); 
 

 
$.formUtils.addValidator({ 
 
    name : 'older18', 
 
    validatorFunction : function(val, $el, conf) { 
 
    \t var requiredAge = 18; 
 
    \t var dateFormat = 'yyyy-mm-dd'; 
 
    if($el.valAttr('format')) { 
 
     dateFormat = $el.valAttr('format'); 
 
    } 
 
    else if(typeof conf.dateFormat !== 'undefined') { 
 
     dateFormat = conf.dateFormat; 
 
    } 
 

 
    var inputDate = $.formUtils.parseDate(val, dateFormat); 
 
    if (!inputDate) { 
 
     return false; 
 
    } 
 

 
    var d = new Date(); 
 
    var currentYear = d.getFullYear(); 
 
    var year = inputDate[0]; 
 
    var month = inputDate[1]; 
 
    var day = inputDate[2]; 
 

 
    if (year === currentYear - requiredAge) { 
 
     var currentMonth = d.getMonth() + 1; 
 
     if (month === currentMonth) { 
 
     var currentDay = d.getDate(); 
 
     return day <= currentDay; 
 
     } 
 
     else { 
 
     return month < currentMonth; 
 
     } 
 
    } 
 
    else { 
 
     return year < currentYear - requiredAge && year > (currentYear - 124); // we can not live for ever yet... 
 
    } 
 
    }, 
 
    errorMessage : 'You need to be older then 18', 
 
    errorMessageKey: 'badDate' 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script> 
 
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery-form-validator/2.3.26/jquery.form-validator.min.js"></script> 
 

 
<form action="" id="date-form"> 
 
    <p> 
 
     Birth date 
 
     <input name="..." data-validation="older18" 
 
\t \t data-validation-help="yyyy-mm-dd (Not allowing dates in..."> 
 
    </p> 
 
    <p> 
 
     Time 
 
     <input name="" data-validation="time" data-validation-help="HH:mm"> 
 
    </p> 
 
    <p> 
 
     <input type="submit"> 
 
    </p> 
 
    </form>

+0

'errorMessage' शुरू हो रहा नहीं है, तो उम्र से कम 18 प्रदान की जाती है –

संबंधित मुद्दे