2012-03-19 13 views
5

कैसे बदलें मैं एमवीसी 3 और JQuery प्रमाणीकरण के लिए एक नौसिखिया हूं इसलिए मुझे यहां प्राप्त कोई भी सहायता बहुत सराहना की जाएगी।JQuery प्रमाणीकरण और एमवीसी 3. दिनांक प्रारूप

मेरा डिवेलपमेंट प्लेटफ़ॉर्म .NET MVC 3 वेबसाइट है। मैं फॉर्म सत्यापन के लिए अविभाज्य जावास्क्रिप्ट में निर्मित का उपयोग कर रहा हूँ। वैध तिथि के लिए तिथि को किसी भिन्न प्रारूप में बदलने का कोई तरीका है। जहां तक ​​मैं कह सकता हूं, वैध प्रारूप डीडी/एमएम/वाई है। क्या वैध दिनांक प्रारूप को "अप्रैल 3, 2012" जैसे कुछ बदलना संभव है?

मेरा विचार मॉडल एक क्षेत्र है

[Required] 
DateTime OrderDate { get; set; } 

मुझे पता है कि MVC 3 हुड के नीचे jQuery मान्यता उपयोग कर रहा है तो मैं सोच रहा हूँ समाधान jQuery मान्य करने के लिए एक परिवर्तन की आवश्यकता होगी और यह भी सुनिश्चित कैसे हुक करने नहीं यह एमवीसी तक है, इसलिए यह डेटा एनोटेशन का उपयोग कर डेटा सत्यापन में निर्मित अन्य सभी की तरह काम करता है।

धन्यवाद।

उत्तर

1

आप आदेश दिनांक का स्वरूप बदलने के लिए आप DisplayFormat एनोटेशन के साथ ऐसा चाहते थे, तो:

[DisplayName("Order Date")] 
[DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "{0:MM/dd/yy}")] 
[Required] 
DateTime OrderDate { get; set; } 

कहाँ DataFormatString अपने वांछित दिनांक समय स्वरूप है।

+0

धन्यवाद, लेकिन यह काम नहीं करता है। ऊपर उल्लिखित मेरा दिनांक प्रारूप "18 मार्च, 2012" है, इसलिए मैंने अपने प्रारूप के साथ थोड़ा सा सुझाव दिया, लेकिन सत्यापन अभी भी तिथि के लिए विफल रहता है। [DisplayFormat (ApplyFormatInEditMode = true, DataFormatString = "{0: MMM dd, yyyy}")] – user1279723

8

जब आप तिथि के लिए क्लाइंट साइड सत्यापन का उपयोग करते हैं, तो आपको तारीख के लिए jQuery सत्यापन को ओवरराइड करना होगा।

$.validator.methods.date = function (value, element) { 
    return this.optional(element) || Globalize.parseDate(value, "MMM dd, yyyy") !== null; 
} 

आपको ग्लोबल लाइब्रेरी और अपने एचटीएमएल हेड में उपयुक्त संस्कृति का संदर्भ देना होगा। https://github.com/jquery/globalize से डाउनलोड करें।

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