2010-08-19 15 views
8

समस्या मैं मुझे लगता है कि अनिवार्य रूप से केवल तभी क्षेत्र एक मूल्य है एक फोन नंबर के लिए एक regex है द्वारा बनाई गई कस्टम सत्यापनकर्ता का उपयोग करके फ़ील्ड मान्य करने के लिए चाहते हैं, अन्यथा यह नहीं करता है ' टी को सत्यापित करने की आवश्यकता है क्योंकि यह वैकल्पिक है।jQuery सत्यापनकर्ता प्लग-इन: मान्य वैकल्पिक फ़ील्ड

कस्टम सत्यापनकर्ता:

$.validator.addMethod('phone', function (value) { 
     return /^[01]?[- .]?\(?[2-9]\d{2}\)?[- .]?\d{3}[- .]?\d{4}$/.test(value); 
    }, 'Please enter a valid US phone number.'); 

नियम:

phone: { 
    required: true, 
    phone: true 
}, 
fax: { 
    phone: true 
} 

मैं भी कोशिश की है:

phone: { 
    required: true, 
    phone: true 
}, 
fax: { 
    required: function(element){ 
    if (!$("#cf-fax").val()) { return true; } else { return false; } 
    } 
    phone: true 
} 

संदर्भ इसके लिए क्षेत्र मैं संदर्भ के लिए कोशिश कर रहा हूँ है:

<input type="text" name="fax" class="optional" size="15" maxlength="14" id="cf-fax" /> 

किसी भी मदद की सराहना की जाती है क्योंकि मैं सिर्फ सादा खो गया हूं। = \

उत्तर

13

आप .optional() (सत्यापन प्लगइन अंदर परिभाषित) इस

$.validator.addMethod('phone', function (value, element) { 
    return this.optional(element) || /^[01]?[- .]?\(?[2-9]\d{2}\)?[- .]?\d{3}[- .]?\d{4}$/.test(value); 
}, 'Please enter a valid US phone number.'); 

की तरह कॉल कर सकते हैं यह मान्यता प्लगइन, take a look at their additional methods here उदाहरण के लिए के लिए मानक योजना है।

+0

अच्छी तरह से पवित्र बकवास काम किया! उसके लिये आपका धन्यवाद। मैं आपके द्वारा उल्लिखित अतिरिक्त विधियों में खुदाई कर दूंगा। – creativetim

+0

@ क्रिएटिवेटिम - आपका स्वागत है :) और एसओ में आपका स्वागत है, उन उत्तरों को स्वीकार करना सुनिश्चित करें जो उत्तर के बाईं ओर चेक-मार्क के माध्यम से अपने प्रश्नों को हल करते हैं :) –

+0

यह करता है! किया और किया। – creativetim

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