ASP. NET Core 3 добавить декораторы проверки из кода / контроллера? - PullRequest
0 голосов
/ 17 июня 2020

У меня возникла ситуация, когда я хотел бы динамически декорировать модель из кода / контроллера. Возможно ли это?

Пример модели, использующей украшение непосредственно в классе модели:

public class ContactUsModel
{

    [Display(Name = "Your Name")]
    [Required(ErrorMessage = "Please provide us with your Name")]
    public string Name { get; set; }

    [Display(Name = "Email Address")]
    [DataType(DataType.EmailAddress)]
    [Required(ErrorMessage = "Please provide a valid Email Address")]
    public string EmailAddress { get; set; }

    public string Telephone { get; set; }

    [Display(Name = "Message")]
    [Required(ErrorMessage = "Please provide us with your contact Message Details")]
    public string Message { get; set; }

}

Но мне нужно иметь возможность установить, является ли поле в модели обязательным или нет, DisplayName для поля et c из кода и напрямую не украшает класс. Поэтому, когда я передаю модель в представление, я могу «украсить» ее с помощью условного кода, а затем передать в представление. Не уверен, что это также позволит проверить модель на стороне сервера, когда она вернется к контроллеру в событии POST?

Итак, в идеале класс будет снова полосатым до этого: 1010 * Обязательное и отображаемое имя задаются с помощью кода, где это можно сделать условно.

Причина в использовании многопользовательского решения. Один клиент может захотеть, чтобы поле «Имя» было обязательным и имело отображаемое имя «Ваше имя», но другой клиент может захотеть, чтобы поле «Имя» было необязательным, а отображаемое имя - «Имя». Basi c примеры.

Есть ли способ в asp. net core 3 mvc добиться этого? Я новичок в MVC.

Спасибо за ваше время,

Ro

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...