首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >jQuery验证:使用远程验证器

jQuery验证:使用远程验证器
EN

Stack Overflow用户
提问于 2011-04-19 07:38:45
回答 1查看 596关注 0票数 1

我正在努力实现我们在这里看到的:

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

代码语言:javascript
复制
<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/进入验证器方法的时间?我会假设提交,但它似乎从来没有被调用!?

当人们不阅读您的问题并指出主要的文档引用时,这确实很烦人,有趣的是,我已经在那里了。

EN

回答 1

Stack Overflow用户

发布于 2011-04-19 08:33:43

任何类型的表单验证都必须连接到onsubmit函数,如果该函数将返回假表单,则该函数将不会被子传递。

代码语言:javascript
复制
<form onSubmit="function(){return false;}"> 

永远不会被征服

要将jquery连接到onsubmit,可以通过validate()函数来完成,需要在文档就绪时执行

还有一件事,所有输入都需要名称属性才能被验证。

更多的文档和大量示例可以在这里找到http://docs.jquery.com/Plugins/Validation/

编辑

这是jsFiddle:http://jsfiddle.net/fzf3q/1/中的代码

它在那里工作,只需要确保在使用它之前就包含了验证函数:

代码语言:javascript
复制
alert($("#Form-AddRegion").validate)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5713104

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档