Как проверить целое число в Asp.net попадать в несколько интервалов со встроенной проверкой (или диапазон с исключением)?

#asp.net #validation #asp.net-core #asp.net-web-api #model-validation

#asp.net #проверка #asp.net-core #asp.net-web-api #модель-проверка

Вопрос:

У меня есть целое число, которое может находиться в диапазоне от -1000 до 1000, но не может быть равно нулю. Я не могу найти какую-либо встроенную проверку, которая может это исправить:

  • Диапазон может использоваться только один раз и не допускает исключений или интервалов
  • Требуется не допускает нулевой проверки

Я знаю, что могу просто написать пользовательский атрибут, но мне было интересно, смогу ли я достичь этого простым способом, который я не могу найти.

И в идеале не регулярное выражение, хотя я думаю, что это был бы самый простой способ.

Ответ №1:

Вы не можете исключить значение из диапазона. Использование диапазонов так же просто, как и это (но оно НЕ поддерживает никаких исключений):

 [Range(-1000, 1000)]
public int Amount {get; set;}
 

Но вы можете легко добиться этого, написав проверку с помощью FluentValidation