Проверка диапазона не работает должным образом в MVC3 - PullRequest
2 голосов
/ 28 февраля 2011

Я генерирую JavaScript для проверки данных в приложении Asp.Net MVC 3 со следующим кодом

[DisplayName("Latitude Degrees")]
[Range(0, 90, ErrorMessage = "Latitude degrees must be between {1} and {2}")]
public Int32? LatitudeDegrees { get; set; }

на представлении модели. Когда это был MVC2, это работало просто отлично, если я ввел значение в текстовое поле за пределами 0-90, я получил предупреждения о проверке.

Поскольку я переместил приложение в MVC 3, всякий раз, когда я помещаю какое-либо значение в текстовое поле, допустимое или недопустимое, рядом с ним появляется ошибка проверки.

У меня для EnableClientValidation установлено значение true, а UseUnobtrusiveJavascript отключен (в файле web.config или в представлениях, которые его включают, ничего нет.

Ответы [ 2 ]

3 голосов
/ 28 февраля 2011

Если вам нужна ненавязчивая проверка на стороне клиента в веб-конфигурации, попробуйте установить для ClientValidationEnabled и UnobtrusiveJavaScriptEnabled значение true.Затем убедитесь, что вы удалили все следы MicrosoftAjax* клиентских скриптовых библиотек и включили jquery и jquery.validate, поскольку это то, что MVC 3 использует:

2 голосов
/ 28 февраля 2011

Я не могу воспроизвести вашу проблему!Я использую ASP.NET MVC3 с ClientValidationEnabled, установленной в true, и UnobtrusiveJavaScriptEnabled, установленной в false, и я попробовал те же атрибуты (скопируйте их, собственно), и все, кажется, работает так, как ожидалось.Возможно, проблема не в том, что вы перечислили здесь.

...