gpt4 book ai didi

jquery - 带有 jQ​​uery 验证的 ASP.Net MVC Ajax 表单

转载 作者:行者123 更新时间:2023-12-03 21:31:23 25 4
gpt4 key购买 nike

我有一个 MVC View ,其中包含使用 Ajax.BeginForm() 辅助方法构建的表单,并且我正在尝试使用 jQuery Validation plugin 验证用户输入。 。我让插件突出显示具有无效输入数据的输入,但尽管输入无效,表单仍会发布到服务器。

如何阻止这种情况,并确保仅在表单验证时才发布数据?

我的代码

<小时/>

形式:

<fieldset>
<legend>leave a message</legend>
<% using (Ajax.BeginForm("Post", new AjaxOptions
{
UpdateTargetId = "GBPostList",
InsertionMode = InsertionMode.InsertBefore,
OnSuccess = "getGbPostSuccess",
OnFailure = "showFaliure"
}))
{ %>
<div class="column" style="width: 230px;">
<p>
<label for="Post.Header">
Rubrik</label>
<%= Html.TextBox("Post.Header", null, new { @style = "width: 200px;", @class="text required" }) %></p>
<p>
<label for="Post.Post">
Meddelande</label>
<%= Html.TextArea("Post.Post", new { @style = "width: 230px; height: 120px;" }) %></p>
</div>
<p>
<input type="submit" value="OK!" /></p>
</fieldset>
<小时/>

JavaScript 验证:

$(document).ready(function() {
// for highlight
var elements = $("input[type!='submit'], textarea, select");
elements.focus(function() {
$(this).parents('p').addClass('highlight');
});
elements.blur(function() {
$(this).parents('p').removeClass('highlight');
});

// for validation
$("form").validate();
});

编辑:当我因在答案中发布后续问题及其解决方案而遭到否决时,这也是有效的验证方法...

function ajaxValidate() {
return $('form').validate({
rules: {
"Post.Header": { required: true },
"Post.Post": { required: true, minlength: 3 }
},
messages: {
"Post.Header": "Please enter a header",
"Post.Post": {
required: "Please enter a message",
minlength: "Your message must be 3 characters long"
}
}
}).form();
}

最佳答案

尝试向 AjaxOptions 添加 OnBegin 回调,并从回调中返回 $('form').validate().form() 的值。看着source看起来这应该可行。

function ajaxValidate() {
return $('form').validate().form();
}

<% using (Ajax.BeginForm("Post", new AjaxOptions
{
UpdateTargetId = "GBPostList",
InsertionMode = InsertionMode.InsertBefore,
OnBegin = "ajaxValidate",
OnSuccess = "getGbPostSuccess",
OnFailure = "showFaliure"
}))
{ %>

编辑已更新为正确的回调名称。

关于jquery - 带有 jQ​​uery 验证的 ASP.Net MVC Ajax 表单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/298691/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com