दिलचस्प पोस्ट
जावास्क्रिप्ट में किसी स्ट्रिंग को संख्या बदलने का सबसे अच्छा तरीका क्या है? XSLT फाइलों पर एक अच्छा ट्यूटोरियल कहां मिल सकता है? मैं लेआउट के अंदर सभी विचार कैसे अक्षम कर सकता हूं? node.js सेटअप विज़ार्ड समयपूर्व समाप्त हो गया यदि आप किसी डेटाबेस में लेन-देन नहीं करते हैं, तो क्या होता है (SQL सर्वर कहते हैं) सेलेनियम एक मौजूदा ब्राउज़र सत्र के साथ बातचीत कर सकता है? आधार संकेतक के माध्यम से व्युत्पन्न वस्तुओं की एक सरणी को हटाने के लिए ऐसा क्यों अनिर्धारित व्यवहार है? गतिविधि को टुकड़ा में परिवर्तित करना सी # समर्थन एकाधिक विरासत है? उस फ़ंक्शन के भीतर फ़ंक्शन का नाम निर्धारित करें (ट्रैसबैक का उपयोग किए बिना) PHP कार्यों के लिए बिग-ओ की सूची स्विफ्ट में "इंडेक्स रेंज से बाहर" कैसे पकड़ सकता हूं? केवल विशिष्ट पंक्तियां पढ़ना (पायथन) "प्रतीक्षा कार्य" के बीच कोई अंतर। वापसी; "और" वापसी कार्य। चला () "? शैल लिपियों के माध्यम से मोंगो कमांड को कैसे निष्पादित करें?

jquery ui datepicker और mvc दृश्य मॉडल प्रकार datetime

मैं अपने दृश्य मॉडल पर jquery datepicker का उपयोग कर रहा हूँ

यह मेरा दृश्य है:

@Html.TextBoxFor(o => o.JobStartDate, new { id = "dt1", @class = "input-block-level" }) @Html.ValidationMessage("JobStartDate") 

और मेरी स्क्रिप्ट:

 $("#dt1").datepicker({ dateFormat: "dd/mm/yy" }); 

यदि मेरी तिथि 12 से अधिक है, तो मेरी सब चीज ठीक काम करती है <12, यह मुझे एक सत्यापन त्रुटि संदेश दिखाएगी, "फ़ील्ड प्रारंभ तिथि एक तिथि होना चाहिए।" (मैं jquery सत्यापन का उपयोग कर रहा हूँ)

उदाहरण के लिए: दिनांक 16/12/2014 मुझे त्रुटि देगा, जबकि 12/12/2014 नहीं होगा

यहां मेरा दृश्य मॉडल है:

 [Required] [DataType(DataType.Date)] [Display(Name = "Start Date")] public DateTime JobStartDate { get; set; } 

मुझे संदेह हो रहा है कि मेरा दृश्य मॉडल दिनांक / मिमी / दिनांक में दिनांक में एमडी / dd / yyyy की आशंका कर रहा है, जबकि मैंने अपने datepicker पर डीडी / एमएम / याय निर्दिष्ट किया था, मेरे व्यू मॉडेल को यह बता देने का एक तरीका है कि मुझे डीडी / एमएम / यानी प्रारूप की उम्मीद है कि यह त्रुटि संदेश नहीं डालता है यदि तारीख है> = 12

Solutions Collecting From Web of "jquery ui datepicker और mvc दृश्य मॉडल प्रकार datetime"

आप jquery globalize का उपयोग कर देख सकते हैं या अपनी स्क्रिप्ट में निम्नलिखित जोड़ सकते हैं (यह मानते हुए कि सर्वर संस्कृति दिनांक प्रारूप 'dd / MM / yyy' है)

 $.validator.addMethod('date', function (value, element) { if (this.optional(element)) { return true; } var valid = true; try { $.datepicker.parseDate('dd/mm/yy', value); } catch (err) { valid = false; } return valid; }); $('#dt1').datepicker({ dateFormat: 'dd/mm/yy' }); 

और कृपया @Html.ValidationMessageFor(m => m.JobStartDate) उपयोग करें @Html.ValidationMessageFor(m => m.JobStartDate)

यहां MVC दृश्य मॉडल:

  public DateTime? date { get; set; } 

यह स्क्रिप्ट के लिए है:

  $('.DatePickers').datetimepicker({ timepicker: false, format: 'dM-Y', scrollInput: false, closeOnDateSelect: true }); 

केवल पढ़ने वाले दिनांक पिकर के लिए कीप्रेस ईवेंट

  $(".DatePickers").keypress(function (event) { event.preventDefault(); }); 

आपको एक कस्टम सत्यापनकर्ता बनाने की आवश्यकता होगी इस तरह से आप इसके बजाय एक स्ट्रिंग मान लेने के लिए अपनी संपत्ति को संशोधित करने की आवश्यकता है

 public string JobStartDate {get; set; } 

फिर आपको इस तरह से अपना कस्टम सत्यापनकर्ता बनाना होगा

 public class CheckDateAttribute : ValidationAttribute { protected override ValidationResult IsValid(object value, ValidationContext validationContext) { // Validate your Date here } } 

इसके बाद आप बस अपनी संपत्ति को इस तरह सजा देंगे –

 [CheckDate] public string JobStartDate {get; set;} 

कस्टम वैरिएटर्स पर यहां एक अच्छा ट्यूटोरियल है