我在asp.net核心mvc应用程序中有datetime数据类型,它显示mm / dd / yyyy-:--不接受datepicker的输入。只读模式甚至显示此mm / dd / yyyy-:--而不是将日期时间传递给模型。有什么解决方案可以删除此数据?
datepicker的默认值格式是yyyy-mm-dd
,如果您设置DateTime类型属性的displayFormat,则应将设置type="text"
为input,否则可能会收到类似The specified value "02/12/1995" does not conform to the required format, "yyyy-MM-dd".
以下示例的错误:
模型:
public class Person
{
public int Id { get; set; }
public string Name { get; set; }
public string Email { get; set; }
public int Age { get; set; }
[DataType(DataType.Date)]
[DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "{0:dd/MM/yyyy}")]
public DateTime Birth { get; set; }
}
视图:
<div class="row">
<div class="col-md-4">
<form asp-action="Edit">
<div asp-validation-summary="ModelOnly" class="text-danger"></div>
<input type="hidden" asp-for="Id" />
<div class="form-group">
<label asp-for="Name" class="control-label"></label>
<input asp-for="Name" class="form-control" />
<span asp-validation-for="Name" class="text-danger"></span>
</div>
<div class="form-group">
<label asp-for="Email" class="control-label"></label>
<input asp-for="Email" class="form-control" />
<span asp-validation-for="Email" class="text-danger"></span>
</div>
<div class="form-group">
<label asp-for="Age" class="control-label"></label>
<input asp-for="Age" class="form-control" />
<span asp-validation-for="Age" class="text-danger"></span>
</div>
<div class="form-group">
<label asp-for="Birth" class="control-label"></label>
<input type="text" asp-for="Birth" class="form-control" id="datepicker" />
<span asp-validation-for="Birth" class="text-danger"></span>
</div>
<div class="form-group">
<input type="submit" value="Save" class="btn btn-primary" />
</div>
</form>
</div>
</div>
@section Scripts {
@{await Html.RenderPartialAsync("_ValidationScriptsPartial");}
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/datepicker/0.6.5/datepicker.css" />
<script src="https://cdnjs.cloudflare.com/ajax/libs/datepicker/0.6.5/datepicker.js">
</script>
<script type="text/javascript">
$(document).ready(function () {
$("#datepicker").datepicker({
format: 'dd/mm/yyyy'
})
});
</script>
}
结果:
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句