क्षण .js ठीक से काम नहीं करने के लिए अमान्य फ़ंक्शन है


81

मेरे पास यह सवाल है ... मुझे कुछ भी समान नहीं मिला है और यह भी बहुत अजीब लगता है कि किसी को भी इस समस्या को क्षण के साथ सत्यापित करने में कोई दिक्कत नहीं हुई।

moment('03:55', 'HH:mm').isValid(); //true
moment('03:55jojojo', 'HH:mm').isValid(); //true
moment('03:55jojojo', 'HH:mm',true).isValid(); //true

क्या मुझसे कुछ गलत हो रही है? यहाँ एक उदाहरण है:

http://jsfiddle.net/vCGAp/145/


3
मैं केवल यह अनुमान लगा सकता हूं कि वे स्पष्ट रूप से परीक्षण करते हैं कि आपके द्वारा पारित प्रारूप का परीक्षण किया गया है ... लेकिन इसके लिए कोई जांच नहीं है "प्रारूप के रूप में एक ही लंबाई है?" ... मैं क्षण के लिए एक बग रिपोर्ट सबमिट करने का प्रयास करना चाहूंगा।
13

... आप उन अतिरिक्त पात्रों को पहले स्थान पर क्यों रखते हैं? क्या यह उस प्रारूप के खिलाफ लंबे समय तक तार को सही ढंग से मान्य करता है?
मैथलेटिक्स

आपके पास अतिरिक्त पात्रों के साथ क्या मतलब है?
मिकेल सांचेज़

जवाबों:


178

अपने प्रश्न में आप लिखते हैं कि यह moment('03:55jojojo', 'HH:mm',true).isValid();सच है। यह गलत है। कृपया अपने jsfiddle को फिर से जांचें।

से http://momentjs.com/docs/

मोमेंट का पार्सर बहुत क्षमाशील है, और इससे अवांछित व्यवहार हो सकता है। 2.3.0 संस्करण के रूप में, आप अंतिम तर्क के लिए एक बूलियन निर्दिष्ट कर सकते हैं जिससे मोमेंट को सख्त पार्सिंग का उपयोग किया जा सके। सख्त पार्सिंग के लिए आवश्यक है कि प्रारूप और इनपुट बिल्कुल मेल खाते हों।

moment('It is 2012-05-25', 'YYYY-MM-DD').isValid();        // true
moment('It is 2012-05-25', 'YYYY-MM-DD', true).isValid();  // false
moment('2012-05-25', 'YYYY-MM-DD', true).isValid();        // true

आप भाषा और सख्ती दोनों का उपयोग कर सकते हैं।

moment('2012-10-14', 'YYYY-MM-DD', 'fr', true);

1
सच (इंडेक्स): २६ ट्रू (इंडेक्स): २ index ट्रू (इंडेक्स): २ ९ यह कंसोल लॉग आउटपुट है: S
मिकेल सांचेज

यदि आप अपने jsfiddle की जांच करते हैं, तो आप देखेंगे कि आप कहीं भी तीसरे तर्क के रूप में सही नहीं गुजर रहे हैं, लेकिन आपके प्रश्न में आप moment('03:55jojojo', 'HH:mm',true).isValid();सच कहते हैं। कृपया अपने ब्राउज़र में उस सटीक कोड को चलाएं - आउटपुट गलत है।
Jan Sommer

3
यार, बहुत-बहुत धन्यवाद, सच का यह तीसरा पैरामीटर, मेरे जीवन को कई बार बचाया, बस यह कहना चाहता था कि चूंकि मैं हमेशा इस उत्तर पर वापस आता रहता हूं।
काजड़

पल ('13 / 13/2000 ')। अमान्य () सही है। इसे ठीक से सत्यापित करने के लिए आपको प्रारूप पदनाम शामिल करना चाहिए।
केंटनबैक्स

धन्यवाद। मुझे अंत में वह उत्तर मिला जो सही है। मुझे तीसरा पैरामीटर भी याद आ रहा है।
श्वे

1

खेद है कि इस 5 साल पुराने सवाल को हटा दें, लेकिन मैं वास्तव में एक ऐसे मामले पर ठोकर खा गया, जहां संस्करण 2.24.0 का उपयोग करते हुए, मोनेंट प्रलेखन के लिए ठीक से काम नहीं कर रहा है।

प्रारूप

तस्वीर में हम देख सकते हैं कि उदाहरण के लिए Hकेवल मूल्यांकन करना चाहिए 0 - 23, लेकिन अगर मैं उपयोग करता moment('01', 'H', true).isValid()हूं तो मुझे अभी भी मिलता है true

यहाँ jsfiddle है: https://jsfiddle.net/wofgst5v/

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.