我在ASP.NET MVC3中使用jQuery UnObtrusive Validation: 这些是添加的脚本: -
<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>
我已经对其中一个字段进行了min-max范围检查,并且正确生成了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>
在页面加载时,我正在通过jQuery更改data-val-range-max属性值:
<script type="text/javascript">
$(function () {
$('#QtyToIssue').attr('data-val-range-max', 11.000000);
});
</script>
完美地进行验证,在提交时,如果QtyToIssue大于11,文本框变为红色,焦点设置为此。 唯一的问题是我没有收到错误消息。
可能是什么原因?
答案 0 :(得分:2)
尝试将@Html.ValidationSummary()
添加到您的视图中(假设您使用的是剃须刀)。这将生成一个应该显示验证消息的div。