Minha classe com a declaração do campo “DataNascimento”, que quando já preenchido deveria carregar o datepicker gerado pelo DataAnnotation quando chamado na view editar.
public class Cliente { [Key] public int ClienteId { get; set; }
[Required(ErrorMessage = "Informe o Nome")] [MaxLength(150, ErrorMessage = "Máximo de {0} caracteres")] [MinLength(2, ErrorMessage = "Mínimo de {0} caracteres")] public string Nome { get; set; } [Required(ErrorMessage = "Informe o Sobrenome")] [MaxLength(150, ErrorMessage = "Máximo de {0} caracteres")] [MinLength(2, ErrorMessage = "Mínimo de {0} caracteres")] public string Sobrenome { get; set; } [Required(ErrorMessage = "Informe o E-mail")] [MaxLength(150, ErrorMessage = "Máximo de {0} caracteres")] [MinLength(2, ErrorMessage = "Mínimo de {0} caracteres")] [EmailAddress(ErrorMessage = "Informe um E-mail válido")] public string Email { get; set; } [Required(ErrorMessage = "Informe a Data de Nascimento")] [Display(Name="Data de Nascimento")] [DataType(DataType.Date, ErrorMessage="Data em formato Inválido")] [DisplayFormat(ApplyFormatInEditMode=true, DataFormatString="{0:yyyy/MM/dd}")] public DateTime DataNascimento { get; set; } [DataType(DataType.Currency)] [Range(typeof(decimal), "0", "999999999999")] public decimal? ValorContribuicao { get; set; } [ScaffoldColumn(false)] public DateTime DataCadastro { get; set; } }
View Edit
@model ProjetoModelo.ViewModels.Cliente
@{ ViewBag.Title = “Edit”; }
Edit
@using (Html.BeginForm()) { @Html.AntiForgeryToken()
<div class="form-horizontal"> <h4>Cliente</h4> <hr /> @Html.ValidationSummary(true, "", new { @class = "text-danger" }) @Html.HiddenFor(model => model.ClienteId) <div class="form-group"> @Html.LabelFor(model => model.Nome, htmlAttributes: new { @class = "control-label col-md-2" }) <div class="col-md-10"> @Html.EditorFor(model => model.Nome, new { htmlAttributes = new { @class = "form-control" } }) @Html.ValidationMessageFor(model => model.Nome, "", new { @class = "text-danger" }) </div> </div> <div class="form-group"> @Html.LabelFor(model => model.Sobrenome, htmlAttributes: new { @class = "control-label col-md-2" }) <div class="col-md-10"> @Html.EditorFor(model => model.Sobrenome, new { htmlAttributes = new { @class = "form-control" } }) @Html.ValidationMessageFor(model => model.Sobrenome, "", new { @class = "text-danger" }) </div> </div> <div class="form-group"> @Html.LabelFor(model => model.Email, htmlAttributes: new { @class = "control-label col-md-2" }) <div class="col-md-10"> @Html.EditorFor(model => model.Email, new { htmlAttributes = new { @class = "form-control" } }) @Html.ValidationMessageFor(model => model.Email, "", new { @class = "text-danger" }) </div> </div> <div class="form-group"> @Html.LabelFor(model => model.DataNascimento, htmlAttributes: new { @class = "control-label col-md-2" }) <div class="col-md-10"> @Html.EditorFor(model => model.DataNascimento, new { htmlAttributes = new { @class = "form-control"} }) @Html.ValidationMessageFor(model => model.DataNascimento, "", new { @class = "text-danger" }) </div> </div> <div class="form-group"> @Html.LabelFor(model => model.ValorContribuicao, htmlAttributes: new { @class = "control-label col-md-2" }) <div class="col-md-10"> @Html.EditorFor(model => model.ValorContribuicao, new { htmlAttributes = new { @class = "form-control" } }) @Html.ValidationMessageFor(model => model.ValorContribuicao, "", new { @class = "text-danger" }) </div> </div> <div class="form-group"> <div class="col-md-10"> @Html.HiddenFor(model => model.DataCadastro) @Html.ValidationMessageFor(model => model.ValorContribuicao, "", new { @class = "text-danger" }) </div> </div> <div class="form-group"> <div class="col-md-offset-2 col-md-10"> <input type="submit" value="Save" class="btn btn-default" /> </div> </div> </div>
}
@Html.ActionLink(“Back to List”, “Index”)
@section Scripts { @Scripts.Render(“~/bundles/jqueryval”)
}
O código acima foi gerado via scaffold e está funcionando, apesar do problema que envolve a questão.Alguém poderia me ajudar?