ASP.NET MVC 3不显眼的验证失败

时间:2012-03-23 14:54:52

标签: asp.net-mvc-3 validation unobtrusive-validation

我有以下内容,但不起作用,我的验证似乎没有在表单提交时触发。

<script src="/Public/javascript/jquery-ui-1.8.13.min.js" type="text/javascript"></script>
<script src="/Public/javascript/jquery.unobtrusive-ajax.js" type="text/javascript"></script>
<script src="/Public/javascript/jquery.validate.min.js" type="text/javascript"></script>

......

<form action="/Controller/Action" data-ajax="true" data-ajax-complete="bla();" data-ajax-method="POST" id="MyAjaxForm" method="post">    

.........

<input data-val="true" data-val-required="The x field is required." id="ViewModel_x" name="ViewModel.x" type="text" value="">
<span class="field-validation-valid" data-valmsg-for="ViewModel.x" data-valmsg-replace="true"></span>

.........

<a href="#" id="saveButton" onclick="$('#MyAjaxForm').submit();">Some button text</a>

</form>

您是否在生成的标记中看到了错误?

提前致谢。

1 个答案:

答案 0 :(得分:3)

  

您是否在生成的标记中看到了错误?

是的,您似乎忘记了包含jquery.validate.unobtrusive.js脚本,该脚本解释输入字段中的HTML5 data-*验证属性并发出jquery.validate规则:

<script src="/Public/javascript/jquery-ui-1.8.13.min.js" type="text/javascript"></script>
<script src="/Public/javascript/jquery.unobtrusive-ajax.js" type="text/javascript"></script>
<script src="/Public/javascript/jquery.validate.min.js" type="text/javascript"></script>
<script src="/Public/javascript/jquery.validate.unobtrusive.js" type="text/javascript"></script>