Вы можете использовать агрегат IValidatableObject
(из System.ComponentModel.DataAnnotations
пространства имен) для проверки на стороне сервера в вашей модели представления:
public class AClass : IValidatableObject
{
public int Id { get; set; }
public string Name { get; set; }
public string SecondName { get; set; }
public IEnumerable<ValidationResult> Validate(ValidationContext validationContext)
{
if( (!string.IsNullOrEmpty(Name) && string.IsNullOrEmpty(SecondName)) || (string.IsNullOrEmpty(Name) && !string.IsNullOrEmpty(SecondName)) )
yield return new ValidationResult("Name and Second Name should be either filled, or null",new[] {"Name","SecondName"});
}
}
Теперь убедитесь, что для параметра Name и SecondName задано нулевое значение, тогда модель действительна, в противном случае - нет.