У меня возникла ситуация, когда я хотел бы динамически декорировать модель из кода / контроллера. Возможно ли это?
Пример модели, использующей украшение непосредственно в классе модели:
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