using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
[Display(Name = "Código")]
public int Codigo { get; set; }
[Required(AllowEmptyStrings = false, ErrorMessage = "A descrição do cargo é obrigatória")]
[Display(Name = "Descrição")]
public string Descricao { get; set; }
[Display(Name = "Ativo")]
public bool Ativo { get; set; }
public static void Main()
Cargo cargo = new Cargo { };
ModelValid modelValid = new ModelValid(cargo);
Console.WriteLine("Model Válido");
Console.WriteLine(modelValid.ErrorMessages());
public sealed class ModelValid
public ICollection<ValidationResult> ValidationResults { get; private set; }
public bool IsValid { get; private set; }
public ModelValid(object model)
ValidationResults = new List<ValidationResult>();
IsValid = Validator.TryValidateObject(model,
new ValidationContext(model),
ValidationResults, true);
public ModelValid(object model, bool throwIfExists)
if (throwIfExists) ThrowException();
public void ThrowException()
throw new ValidationException(ErrorMessages());
public string ErrorMessages()
string message = string.Empty;
if (ValidationResults != null &&
ValidationResults.Count > 0)
IEnumerator<ValidationResult> results =
ValidationResults.GetEnumerator();
while (results.MoveNext())
ValidationResult vr = results.Current;
message += vr.ErrorMessage + System.Environment.NewLine;