【问题标题】:ASP.NET MVC 3 unobtrusive validation failingASP.NET MVC 3 不显眼的验证失败
【发布时间】:2012-03-23 14:54:51
【问题描述】:

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

<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>

您在生成的标记中发现有什么问题吗?

提前致谢。

【问题讨论】:

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


    【解决方案1】:

    您在生成的标记中发现有什么问题吗?

    是的,您似乎忘记了包含 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>
    

    【讨论】:

    • 没错,我错过了那个脚本。谢谢你发现它。不过还是不行……
    • 我认为您需要提供一个简洁而完整的示例,以便我重现您的问题。
    • 问题是通过 ajax.actionlink 动态加载了部分视图,并且验证不起作用。它通过调用一些validationparse方法来工作。
    猜你喜欢
    • 2011-07-09
    • 1970-01-01
    • 2011-12-22
    • 2011-06-28
    • 2011-09-20
    • 1970-01-01
    • 2011-09-17
    • 1970-01-01
    • 2011-06-22
    相关资源
    最近更新 更多