Различная проверка в зависимости от модели в зависимости от страницы

#c# #validation #asp.net-core #razor #annotations

Вопрос:

У меня есть подробная модель, которая используется на 2 разных страницах.

 public class Details
{
    public string FirstName { get; set; }
    public string LastName { get; set; }
    public string City { get; set; }
    public string Country { get; set; }
    public string Nationality { get; set; }
}
 

При сохранении на 1-й странице я хочу, чтобы каждое свойство этой модели было обязательным, однако при сохранении на 2-й странице я хочу, чтобы каждое свойство было необязательным.
Есть ли способ сделать эту проверку условной в зависимости от страницы, на которой я ее использую?

Ответ №1:

Я предполагаю, что модель деталей является базовым классом для этих двух отдельных представлений. Вы должны сделать его абстрактным и выводить из него (если только вам не нужно его где-то использовать) или использовать automapper для отображения модели деталей в детали-1 и детали-2 с необходимыми атрибутами проверки