我有以下内容,但不起作用,我的验证似乎没有在表单提交时触发。
<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>
您是否在生成的标记中看到了错误?
提前致谢。
答案 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>