IValidatableObject может быть реализован DTO для выполнения пользовательской логики проверки. в следующем примере реализует этот интерфейс и проверяет, равен ли значение is параметру и в этом случае возвращает ошибку проверки.CreateBookDtoNameDescription