2015-02-13 14 views
6

Sadece teslim ederken ddMMyyyy biçiminde Tarih kabul etmek istiyorum. Ancak,MVC ddMMyyyy biçiminde DateTime kabul etmek için doğrulama

gibi bir hata verir. FromDate alanı bir tarih olmalıdır. Ben AAGGYYYY tarih koyduğunuzda

enter image description here

Ama, roperly pkkttrfg kabul eder.
Benim Modeli

public class CompareModel 
{ 
    [Required] 
    [DisplayFormat(DataFormatString = "{0:dd-MM-yyyy}", ApplyFormatInEditMode = true)] 
    public DateTime FromDate { get; set; } 

    [Required] 
    [DisplayFormat(DataFormatString = "{0:dd-MM-yyyy}", ApplyFormatInEditMode = true)] 
    public DateTime TODate { get; set; } 

} 

Benim Görünüm Bölüm sorun bu doğrulamak için javascript kullanan perde arkasında ise

<div class="form-group"> 
     @Html.LabelFor(model => model.FromDate, new { @class = "control-label col-md-2" }) 
     <div class="col-md-10"> 
      @Html.EditorFor(model => model.FromDate) 
      @Html.ValidationMessageFor(model => model.FromDate) 
     </div> 
    </div> 

    <div class="form-group"> 
     @Html.LabelFor(model => model.TODate, new { @class = "control-label col-md-2" }) 
     <div class="col-md-10"> 
      @Html.EditorFor(model => model.TODate) 
      @Html.ValidationMessageFor(model => model.TODate) 
     </div> 
    </div> 


    <div class="form-group"> 
     <div class="col-md-offset-2 col-md-10"> 
      <input type="submit" value="Create" class="btn btn-default" /> 
     </div> 
    </div> 
+0

Sen globalize veya [Bu yanıt uyarınca '$ .validator' bir yöntem eklemek jquery kullanarak bakabilirsiniz için bu bağlantıyı ASP.NET Tarih saat destek Bkz ] (http://stackoverflow.com/questions/27285458/jquery-ui-datepicker-and-mvc-view-model-type-datetime/27286969#27286969) - çözüm jquery ui datepicker içindir ama ayarlanabilir standart bir metin kutusu için (örneğin değeri bileşenlerine ayırın, yeni bir javascript 'Date()' nesnesi oluşturun ve geçerli olduğunu test edin) –

cevap

7

olduğunu ve bu üzerine yazmak gerekir. this answer

+0

Bunu nereye koyabilirim? Teşekkürler. Çalıştığımda bir kez daha kazanacağım. – w0051977

5

alındı ​​

jQuery(function ($) { 
    $.validator.addMethod('date', 
    function (value, element) { 
     if (this.optional(element)) { 
      return true; 
     } 

     var ok = true; 
     try { 
      $.datepicker.parseDate('dd/mm/yy', value); 
     } 
     catch (err) { 
      ok = false; 
     } 
     return ok; 
    }); 
}); 

Sadece eklemeyi deneyin

<system.web> 
    <globalization culture="en-GB"/> 
</System.web> 

aynı konu benim için yaptığı çalışmalar

soru
İlgili konular