ValidationSummary
метод возвращает ошибки уровня свойств и уровня модели.Он просто перечисляет все сообщения проверки, если вы не указали никаких аргументов.
Вы можете: 1) Использовать другое сообщение для полей A и B
// logic here
yield return new ValidationResult("Validation failed for left field", new[] { "A" });
// logic here
yield return new ValidationResult("Validation failed for right field", new[] { "B" });
или, по вашему мнению
2) Вызовите ValidationSummary с аргументом excludePropertyErrors, установленным в значение true - ValidationSummary(true)
.И поместите вызов Html.ValidationMessage[For]
рядом с каждым из ваших полей.
UPDT: ... и третий случай:
В вашей модели добавьте общее сообщение (на уровне модели):
//logic here
yield return new ValidationResult("Validation failed");
yield return new ValidationResult("any text or empty string", new[] { "A", "B" });
По вашему мнению исключите сообщения свойств, но не добавляйте ValidationMessage для полей:
@model MyModel
@Html.ValidationSummary(true)
@Html.TextBoxFor(model => model.A)
@Html.TextBoxFor(model => model.B)
Таким образом, вы получите одно сообщение и оба красных поля.