【发布时间】:2012-05-19 12:36:46
【问题描述】:
为了改善我的应用程序,我激活了客户端验证,它工作得很好,但不幸的是,一些 Jquery 表单验证已被拒绝并且不再工作:(
这是我的 JS 代码:
<script src="../../Scripts/jquery-1.7.1.min.js" type="text/javascript"></script>
<script src="../../Scripts/jquery.ui.datepicker.js" type="text/javascript"></script>
<script src="../../Scripts/jquery.ui.core.min.js" type="text/javascript"></script>
<script src="../../Scripts/jquery.ui.widget.js" type="text/javascript"></script>
<script src="../../Scripts/jquery.validate.min.js" type="text/javascript"></script>
<script src="../../Scripts/jquery.validate.unobtrusive.min.js" type="text/javascript"></script>
<script type="text/javascript">
$(document).ready(function () {
$("form").validate({
rules: {
idv: { required: true },
dd: { required: true },
df: { required: true },
remise: { required: true }
}
});
});
</script>
这是我的表单代码:
<% using (Html.BeginForm("Promo", "Agence", FormMethod.Post, new { @class = "search_form" })) { %>
<p>
Matricule vehicule : <br />
<%: Html.TextBox("idv")%> <br />
De : <br />
<%: Html.TextBox("dd")%> <br />
Juqu'a : <br />
<%: Html.TextBox("df")%> <br />
Remise : <br />
<%: Html.TextBox("remise") %> % <br />
Description : <br />
<%: Html.TextArea("des", new {rows="4", cols="30" })%>
</p>
<input type="submit" value="Ajouter" class="button"/>
<% } %>
在这种形式中,我不需要使用模型,我在同一页面中使用其他模型,Jquery 验证工作得很好,直到我激活了验证客户端。
【问题讨论】:
-
定义“不起作用”。您是否在 Web 浏览器中收到控制台错误?是否调用了 jQuery 代码?调试它时会发生什么。如果错误发生在您的 JavaScript 代码中,那么它就在客户端。服务器端视图代码不会有太大帮助。当您打开客户端验证时,发送到浏览器的输出发生了一些变化。在浏览器中进行调试并尝试找出发生了什么变化以及它是如何造成重大变化的。
-
没有错误显示,但是当我点击按钮提交时,
Jquery.validation script 没有被执行,在我在我的应用程序中启用client validation之前,这个相同的脚本正在工作 -
那么发生了什么变化?启用客户端验证会极大地改变发送到浏览器的 HTML。根据到目前为止的描述,很有可能您的 jQuery 代码现在无法绑定到元素(可能元素已更改)或其他一些发出的代码正在窃取绑定(覆盖
onclick并将事件标记为已处理, 也许)。你需要调试你的客户端代码。 -
这取决于您的浏览器。我选择的个人客户端调试器是 Firefox 中的 Firebug。最新版本的 IE 也有开发工具,Chrome 和 Safari 也有。至于如何正确使用它们,那完全是另一回事了。我无法真正在几场比赛中教你,这是你必须学习的东西。
-
我做了一些测试,我认为是因为表单之间存在一些冲突,所以我进行了更改
$(document).ready(function () { $("#form1").validate({并在我的表单中将她的名字更改为form1,但仍然无法正常工作
标签: jquery asp.net-mvc validation