2011-06-08 29 views
5

bu var: denetleyici olarakASP.NET MVC 3: Doğrulama olsun mesajı listesi

public class Customer 
{ 
    [DisplayName("Lastname"), StringLength(50)] 
    [Required(ErrorMessage="My Error Message")] 
    [NotEmpty()] 
    public override string LastName { get; set; } 

    [DisplayName("Firstname"), StringLength(50)] 
    [Required(ErrorMessage="My Error Message 2")] 
    [NotEmpty()] 
    public override string FirstName{ get; set; } 
} 

, bunu:

if (!TryValidateModel(myCustomer)) 
{ 
    //HERE 
    .... 
} 

Nerede "BURADA", İsterdim edilir olsun tüm hata mesajları.

Bazı örnek vakalar:

  1. ise "Soyadı" Ben
  2. hem mising ise " My Hata Mesajı " olsun istiyorum eksikse, ben Listesini almak istiyorum (ya da diğer) ile değerler "My Hata Mesajı" ve "My Hata Mesajı 2"

fikrin var mı? Böyle kendi alanında ve mesaj ile tüm hataların bir listesini alabilir

cevap

13

sayesinde:

var errors = ModelState 
    .Where(x => x.Value.Errors.Count > 0) 
    .Select(x => new { x.Key, x.Value.Errors }) 
    .ToArray(); 
+0

Hayır hayır ben tüm iletileri istemiyorum, ben alan için sadece mesajı istiyorum Hata –

+0

@ Kris-I, işte bu elde edersiniz => Where cümleciğine bakın. Sadece bir hataya sahip alanları alacaktır. –

+0

Bir kez daha teşekkürler :) –