我正在努力实现我们在这里看到的:
http://weblogs.asp.net/cibrax/archive/2008/08/01/combining-jquery-validation-with-asp-net-mvc.aspx
我遇到的问题是它不使用远程验证器。
<form action="<%=Url.Action("Register", "Home")%>" method="post" id="form-sign-up">
在我的例子中,每次我点击submit,它就会发布到Register中--我似乎从未击中过Json验证器方法。实际上,我下载了示例,远程帖子对我不起作用。远程部分是否在示例中为其他人工作?
有人知道如何让他们工作或有一个更好的例子吗?
基本上,我有一个模态弹出编辑表单。我想在投递到保存(或者在本例中是Register)方法之前做所有的验证。
我只需检查它是否是必需的,远程验证器将检查它是否是重复的。在我的示例中,我错过了验证器,并在保存方法中结束。显然,我只想保存,如果字段已填写,而不是一个副本。
编辑0:
我在使用MVC 2
<form action="/Region/Save" method="post" id="Form-AddRegion">
<div class="editor-label">
<%: Html.Label("Region:") %>
<%: Html.TextBoxFor(model => model.Region, new { @class = "edit required remote"}) %>
</div>
<p>
<input type="submit" value="Save" />
<input type="button" onClick="window.parent.CloseWindow();" value="Cancel" />
</p>
</form>
public ActionResult ValidateRegion(string name)
{
if (!something)
return Json(true, JsonRequestBehavior.AllowGet);
return Json(false, JsonRequestBehavior.AllowGet);
}
<script type="text/javascript">
$(document).ready(function () {
alert('jQuery is referenced properly');
$("#Form-AddRegion").validate({
rules:
{
//rules each for specified input-id
Region:
{
required: true,
remote: '<%=Url.Action("ValidateRegion","Region") %>'
}
},
messages:
{
Region:
{
required: "Please provide a Region",
remote: jQuery.format("{0} is already in use")
}
}
});
});
</script>所以问题是,在提交时,我总是在验证器/Region/Save之前将其发布到保存方法ValidateRegion中!我在global.asax.cs错过了一条路吗?
我需要知道javascript代码post/进入验证器方法的时间?我会假设提交,但它似乎从来没有被调用!?
当人们不阅读您的问题并指出主要的文档引用时,这确实很烦人,有趣的是,我已经在那里了。
发布于 2011-04-19 08:33:43
任何类型的表单验证都必须连接到onsubmit函数,如果该函数将返回假表单,则该函数将不会被子传递。
<form onSubmit="function(){return false;}"> 永远不会被征服
要将jquery连接到onsubmit,可以通过validate()函数来完成,需要在文档就绪时执行
还有一件事,所有输入都需要名称属性才能被验证。
更多的文档和大量示例可以在这里找到http://docs.jquery.com/Plugins/Validation/。
编辑
这是jsFiddle:http://jsfiddle.net/fzf3q/1/中的代码
它在那里工作,只需要确保在使用它之前就包含了验证函数:
alert($("#Form-AddRegion").validate)https://stackoverflow.com/questions/5713104
复制相似问题