SORU
12 Mayıs 2010, ÇARŞAMBA


ASP.NET MVC Html.ValidationSummary(true) model hataları göstermez

Html ile biraz sorunum var.ValidationSummary. ValidationSummary emlak hataları görüntülemek için istemiyorum. Ve Html olarak ayarlayın.ValidationSummary(true) ModelState hata iletileri görüntülenmez. Dize denetleyicisi eylem birkaç İstisnası vardır

MembersManager.RegisterMember(member);

catch bölüm ModelState bir hata ekler:

ModelState.AddModelError("error", ex.Message);

Ama ValidationSummary bu hata iletisi görüntüler. Html olarak ayarlayın.ValidationSummary(false) tüm iletileri görüntüleniyor, ama özellik hataları görüntülemek için istemiyorum. Bu sorunu nasıl düzeltebilirim?

İşte kullanıyorum kod:

Model:

public class Member
{
        [Required(ErrorMessage = "*")]
        [DisplayName("Login:")]
        public string Login { get; set; }

        [Required(ErrorMessage = "*")]
        [DataType(DataType.Password)]
        [DisplayName("Password:")]
        public string Password { get; set; }

        [Required(ErrorMessage = "*")]
        [DataType(DataType.Password)]
        [DisplayName("Confirm Password:")]
        public string ConfirmPassword { get; set; }
}

Denetleyici:

[HttpPost]
        public ActionResult Register(Member member)
        {
            try
            {
                if (!ModelState.IsValid)
                    return View();

                MembersManager.RegisterMember(member);
            }
            catch (Exception ex)
            {
                ModelState.AddModelError("error", ex.Message);

                return View(member);
            }
        }

Görünüm:

<% using (Html.BeginForm("Register", "Members", FormMethod.Post, 
                        new { enctype = "multipart/form-data" })) {%> 
    <p>
        <%= Html.LabelFor(model => model.Login)%>
        <%= Html.TextBoxFor(model => model.Login)%>
        <%= Html.ValidationMessageFor(model => model.Login)%>
    </p>

    <p>
        <%= Html.LabelFor(model => model.Password)%>
        <%= Html.PasswordFor(model => model.Password)%>
        <%= Html.ValidationMessageFor(model => model.Password)%>
    </p>

    <p>
        <%= Html.LabelFor(model => model.ConfirmPassword)%>
        <%= Html.PasswordFor(model => model.ConfirmPassword)%>
        <%= Html.ValidationMessageFor(model => model.ConfirmPassword)%>
    </p>

    <div>
        <input type="submit" value="Create" />
    </div>

    <%= Html.ValidationSummary(true)%>
<% } %>

CEVAP
12 Mayıs 2010, ÇARŞAMBA


ValidationSummary bayrağı işler böyle tek anahtarı olarak string.empty ModelErrors görüntüler olduğuna inanıyorum. Aksi takdirde tesiste bir hata olduğu kabul edilir. Verdiğiniz dize/Model bir özellik değil bir doğrulama yok.

ModelState.AddModelError(string.Empty, ex.Message);

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • 8lacKy

    8lacKy

    30 Mart 2009
  • Bad Lip Reading

    Bad Lip Read

    22 Mart 2011
  • Pocketnow

    Pocketnow

    14 EKİM 2007