Допустим, у меня есть модель User, которая имеет свойства Email
и Password
для целей аутентификации, а именно:
public class User
{
public long Id { get; set; }
[Required]
public string FirstName { get; set; }
[Required]
public string LastName { get; set; }
[Required]
[EmailAddress]
public string Email { get; set; }
[Required]
[DataType(DataType.Password)]
public string Password { get; set; }
}
Моя цель - сделать эти свойства обязательными только для запросов POST, но не для PUT. То есть: поля Email и Password обязательны для создания нового пользователя. Но при редактировании я могу опустить эти свойства. Я знаю, что эту цель можно заархивировать, удалив [Required]
из электронной почты и пароля и проверив эти свойства при размещении почты, но это не очень хорошая практика.
Итак, есть более элегантное решение для этого варианта использования?