Your model should implement an interface IValidatableObject . Put your validation code in Validate method. public class MyModel : IValidatableObject { public string Title { get; set; } public string Description { get; set; } public IEnumerable Validate(ValidationContext validationContext) { if (Title == null) yield return new ValidationResult("*", new [] { nameof(Title) }); if (Description == null) yield return new ValidationResult("*", new [] { nameof(Description) }); } } This is a server-side validation. It doesn't work on client-side. You validation will be performed only after form submission.
By Subhasis Samanta