Префикс сообщения об ошибке аннотации - PullRequest
0 голосов
/ 22 мая 2018

Сценарий таков: у меня есть объект, который я использую несколько раз в форме бритвы, и мне нужно добавить префикс атрибутов данных сообщения об ошибке, чтобы они имели смысл в сводке проверки.

Быстрый пример:

public class Person 
{
    [Required(ErrorMessage = "First Name is Required")]
    [StringLength(30, ErrorMessage = "First Name must be 30 characters or less")]
    public string FirstName { get; set; }
}

public class User 
{
    [Required]
    public Person User { get; set; }
    [Required]
    public Person NextOfKin { get; set; }
}

@Html.EditorFor(x => x.User.FirstName, new { htmlAttributes = new { placeholder = "First Name" }})

@Html.EditorFor(x => x.NextOfKin.FirstName, new { htmlAttributes = new { placeholder = "First Name" }})

Если бы я использовал класс User в форме, а имя FirstName оставалось пустым в нескольких местах, сообщения об ошибках были бы идентичны, и ничего не различать между ними.

Что такоемои лучшие варианты в этом сценарии?

обновление : чтобы подчеркнуть необходимость префикса нескольких строк ErrorMessage.

Спасибо.

1 Ответ

0 голосов
/ 22 мая 2018

Попробуйте перезаписать соответствующее сообщение проверки в форме, используя атрибут заголовка на стороне клиента.

 @Html.EditorFor(x => x.FirstName, new { htmlAttributes = new { @class = "form-control", required = "required", title = "User First Name is required"} })
    @Html.ValidationMessageFor(x => x.FirstName,"", new { @class = "text-danger" })
<!-- NextOfKin entry -->
@Html.EditorFor(y => y.FirstName, new { htmlAttributes = new { @class = "form-control", required = "required", title = "Next Of Kin First Name is required"} })
    @Html.ValidationMessageFor(y => y.FirstName,"", new { @class = "text-danger" })
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...