2011-06-10 4 views
10

मैं फॉर्म सत्यापन के लिए jquery validation plugin का उपयोग कर रहा हूं। min संपत्ति का उपयोग ठीक काम करता है, लेकिन मैं चाहता हूं कि यह से अधिक मूल्यों को मान्य मानें।न्यूनतम मूल्य से अधिक के लिए jquery सत्यापन

rules: { 
    price: { 
     required: true, 
     min: 13, 
     number: true 
    } 
} 

मेरे कोड मैं min: 13 है, लेकिन मैं 13 अनुमति देने के लिए नहीं करना चाहते हैं, केवल 13 से अधिक महत्व देता है, उदाहरण के लिए 13.10, 13.20, 14. मैं यह कैसे कर सकता हूं?

अग्रिम धन्यवाद!

उत्तर

34

$.validator.addMethod साथ अपने स्वयं के कस्टम विधि बनाएं:

$.validator.addMethod('minStrict', function (value, el, param) { 
    return value > param; 
}); 

तब का उपयोग करें:

price: { 
    required: true, 
    minStrict: 13, 
    number: true 
} 

नोट: सत्यापनकर्ता प्लगइन recommend मूल्य आप की आपूर्ति करने Number.MIN_VALUE जोड़ने के रचनाकारों :

min: 13 + Number.MIN_VALUE 

Number.MIN_VALUE छोटी से छोटी सकारात्मक है (गैर शून्य) नाव कि जे एस, संभाल कर सकते हैं इसलिए तर्क है कि दो बयानों नीचे बराबर हैं:

a > b; 
a >= b + Number.MIN_VALUE; 

लेकिन, यह काम नहीं करता, कारण फ्लोटिंग-पॉइंट नंबरों को स्मृति में संग्रहीत किया जाता है। गोल करने से b + Number.MIN_VALUE अधिकतर मामलों में b बराबर होगा (b इस काम के लिए बहुत छोटा होना चाहिए)।

+0

+1 यह यह करने के लिए सबसे अच्छा तरीका है। – alex

+0

त्वरित समाधान – Gowri

+0

के लिए धन्यवाद अगर किसी को मेरे जैसे सत्यापन के साथ-साथ एक संदेश जोड़ने की आवश्यकता है, तो यह उत्तर देखें http://stackoverflow.com/questions/13352626/dynamic-jquery-validate-error-messages-with-addmethod आधारित-तत्व पर –

-1

मिनट: 13.01, इस:

rules:{ price:{ required: true, min: 13.01, number: true } }

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