Атрибут диапазона позволяет +, - как действительные символы при отправке - PullRequest
0 голосов
/ 20 сентября 2019

У меня есть модель с атрибутом Range для необязательного свойства, и редактор позволяет вводить символьные строки, такие как "2-1", "1 + 2" и т. Д. ... Это приводит к получению контроллеранулевое значение для этого поля при отправке формы вместо обычного сообщения проверки, которое я ожидаю.Так как null является допустимым значением, это заставляет код работать, но игнорирует ввод.Это, кажется, вызывает путаницу, когда пользователь видит, что код работает, но игнорирует их значение.Есть ли способ заставить строки, подобные приведенным выше, завершить проверку на стороне клиента, чтобы форма не отправляла нулевое значение?

Модель

[DisplayName("Risk Score")]
[Range(0, 5)]
public int? RiskScore { get; set; } = null;

Просмотр

@Html.EditorFor(model => model.RiskScore, ViewBag.Readonly ? (object)new { htmlAttributes = new { @readonly = "readonly", @class = "form-control" } } : new { htmlAttributes = new { @class = "form-control" } })
@Html.ValidationMessageFor(model => model.RiskScore, "", new { @class = "text-danger" })
...