У меня есть аннотированный модель данных, которая выглядит примерно так:ASP.NET MVC 4 Активная проверка для числовых полей
Public Class Task
Public Property TaskID As Integer
<Range(0, 999999999, ErrorMessage:="Please enter a valid number.")>
Public Property EstimatedHours As Nullable(Of Decimal)
End Class
Это правильно проверяет Estimated Hours
поле и выводит сообщение об ошибке, если пользователь вводит что-либо, что не находится между указанным диапазоном. Моя проблема с этим, однако, заключается в том, что это ПАССИВНАЯ проверка. Он позволяет пользователям вводить «asdasfs2312», а затем нажать submit.
Что бы я хотел, это проверка ACTIVE, то есть поле ввода, которое полностью запрещает пользователю вводить буквы вообще. Есть простой способ сделать это в ASP.NET? Мне еще не повезло с типами ввода номера HTML5 и jQuery UI spinners.
Пока единственным решением, которое я нашел, является pretty hacky.
EDIT: Чтобы уточнить, у меня есть проверка на стороне клиента и сервера. Я просто ищу способ активно запретить вход на стороне клиента в режиме ограничения по мере ввода, чтобы сократить время, необходимое пользователю для отправки формы, и THEN получит сообщение об ошибке.
Хорошо работает в Chrome, но в firefox вы не можете использовать клавиши со стрелками или удалять. Также нельзя добавить десятичные точки. – ElliotSchmelliot
ive отредактировал его, чтобы клавиши со стрелками и удалить. – jzm
Спасибо за вашу помощь, я думаю, что я мог бы пойти по этому маршруту до тех пор, пока что-то еще не ударит меня по лицу. – ElliotSchmelliot