Я застрял на этом в течение часа.Динамическое поле DateTime не работает должным образом
У меня динамичная форма. Который работает нормально при добавлении новых элементов,
Но я пытаюсь представить форму для редактирования я получаю проверки на стороне клиента для DateTime:
Это HTML:
using (Html.BeginCollectionItem("ValidDates"))
{
<div class="row mt-10">
@Html.HiddenFor(m => m.Id)
@Html.HiddenFor(m => m.IsDeleted, new { data_is_deleted = "false" })
<div class="col-md-5">
@Html.TextBoxFor(m => m.ValidFrom, new { @Value = Model.ValidFrom.ToString("dd/MM/yyyy"), @class = "form-control dateTimePicker" })
@Html.ValidationMessageFor(m => m.ValidFrom)
</div>
<div class="col-md-5">
@Html.TextBoxFor(m => m.ValidTo, new { @Value = Model.ValidFrom.ToString("dd/MM/yyyy"), @class = "form-control dateTimePicker" })
@Html.ValidationMessageFor(m => m.ValidTo)
</div>
<div class="col-md-1">
@Html.CheckBoxFor(m => m.Enabled)
</div>
<div class="col-md-1">
<span class="glyphicon glyphicon-trash" data-action="removeItem" title="remove" style="cursor:pointer"></span>
</div>
</div>
}
И это Модель:
public class BucketValidDates : BaseEntity
{
[DisplayFormat(DataFormatString = "{0:yyyy-MM-dd}", ApplyFormatInEditMode = true)]
public DateTime ValidFrom { get; set; }
[DisplayFormat(DataFormatString = "{0:yyyy-MM-dd}", ApplyFormatInEditMode = true)]
public DateTime ValidTo { get; set; }
public bool Enabled { get; set; }
public virtual Bucket Bucket { get; set; }
[NotMapped]
public bool IsDeleted { get; set; }
}
У меня даже tr с использованием EditorFor
(Это работает, когда я отправляю обратно, но DateFormat не подходит).
using (Html.BeginCollectionItem("ValidDates"))
{
<div class="row mt-10">
@Html.HiddenFor(m => m.Id)
@Html.HiddenFor(m => m.IsDeleted, new { data_is_deleted = "false" })
<div class="col-md-5">
@Html.EditorFor(m => m.ValidFrom, new { @class = "form-control" })
@Html.ValidationMessageFor(m => m.ValidFrom)
</div>
<div class="col-md-5">
@Html.EditorFor(m => m.ValidTo, new { @class = "form-control" })
@Html.ValidationMessageFor(m => m.ValidTo)
</div>
<div class="col-md-1">
@Html.CheckBoxFor(m => m.Enabled)
</div>
<div class="col-md-1">
<span class="glyphicon glyphicon-trash" data-action="removeItem" title="remove" style="cursor:pointer"></span>
</div>
</div>
}
Я попытался изменить формат в модели для {0: дд/мм/гггг}
Мне нужен формат быть: day/Month/Year
Но как вы можете видеть на картинке ниже, что формат является Year/Month/day
DatePicker для этого проекта является: http://eonasdan.github.io/bootstrap-datetimepicker/
С этим связано это событие?
Вы, конечно, должны иметь DisplayFormat набор для dd-MM-yyyy (если нет другой причины, почему он установлен таким образом.) –
@NathanKoop I h ave попытался установить его на dd-MM-yyyy, но я все равно получаю тот же формат в представлении –
. Проверьте этот пост http://stackoverflow.com/questions/18546971/mvc-4-how-to-validate-a-non- us-date-with-client-validation – ssimeonov