Я использую jQuery UnObtrusive Validation с ASP.NET MVC3:
Это добавленные скрипты: -
<link rel="stylesheet" href="http://code.jquery.com/mobile/latest/jquery.mobile.min.css" />
<script src="http://code.jquery.com/jquery-1.6.1.min.js"></script>
<script type="text/javascript">
$('div').live('pageshow', function (event) {
jQuery.validator.unobtrusive.parse(".ui-page-active form");
});
</script>
<script src="http://code.jquery.com/mobile/latest/jquery.mobile.min.js" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/jquery.validate.min.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/jquery.validate.unobtrusive.min.js")" type="text/javascript"></script>
Я дал проверку минимального и максимального диапазона одному из полей, и он правильно генерировал html:
<div class="display-label">
<label for="QtyToIssue">Qty to Issue</label>
</div>
<div class="display-field">
<input class="text-box single-line" data-val="true" data-val-number="The field Qty to Issue must be a number." data-val-range="The field Qty to Issue must be between 0 and 1.79769313486232E+308." data-val-range-max="1.79769313486232E+308" data-val-range-min="0" data-val-required="The Qty to Issue field is required." id="QtyToIssue" name="QtyToIssue" type="number" value="0" />
</div>
При загрузке страницы я меняю значение атрибута data-val-range-max на jQuery:
<script type="text/javascript">
$(function () {
$('#QtyToIssue').attr('data-val-range-max', 11.000000);
});
</script>
Он отлично выполняет проверку при отправке, если QtyToIssue больше 11, текстовое поле становится красным и фокус устанавливается на это. Проблема только в том, что я не получаю сообщение об ошибке.
В чем может быть причина?