3

注意:我在问这个之前提到了这些问题Qn1Qn2 。但老实说,答案是行不通的。请提出一个解决方案。我正在使用 jquery 验证插件对我的输入字段进行验证。当所有标签都保存在表单标签中并在 jquery 中访问它时,我的代码工作正常,例如, $("#formID").validate()--> 这工作正常......但我想为 adiv而不是表单实现相同的效果。

我试过这样:$("#divID").validate()但它不工作......

下面是我的代码。请看一下并告诉我如何实现它div

 <script type="text/javascript">
    $(document).ready(function () {
        $("#content").validate({
            onfocusout: true,
            rules: {
                fullname:
                    {
                    lettersonly: true,
                    required: true
                    },
                age:
                    {
                        required: true,
                        number: true,
                        min: 20,
                        max:98,
                        nowhitespace:true
                    }
            },
            messages: {
                fullname: "Please specify your name.",
                age:"Please enter your correct age."
            }
        });
    });
</script>
<div id="content">
            <p>
                <label for="fullname">Full name:</label>
                <input type="text" name="fullname" id="fullname" /><br />
                <label for="age">Age</label>
                <input type="text" name="age" />
            </p>
            <p>
                <button id="submit" value="">Search User</button>
            </p>
 </div>
4

4 回答 4

1

Quote OP: "NOTE: I referred these questions Qn1 , Qn2 before asking this . But honestly the answers are not working."

Incorrect, the the accepted answer on Qn2 is working perfectly:

The validation plugin is (currently) designed to work on a <form>, and only on a <form>. You can also note that all of the plugin documentation references a form, not any other generic container.

You must use a form element with the jQuery Validate plugin. There is no workaround for this.

However, if you just want to validate some inputs without actually submitting a form, there are lots of working solutions. Example: http://jsfiddle.net/GmQ5d/

Full Documentation

于 2013-02-20T18:22:25.837 回答
0

不幸的是,这不是您想听到的答案,但是使用 JQuery Validate 插件,您无法对form标签以外的任何内容执行验证。您可能会注意到所有插件文档都引用了一个表单,而不是任何其他通用容器,例如 Div。

这个网站向您展示了如何使用 webforms 实现 JQuery Validate,不像您从 JQuery 获得的普通示例那么简单,但仍然很好。

于 2013-02-20T14:06:35.130 回答
0

jQuery 自己的验证只适用于forms。然而,这个插件看起来应该可以在没有表单的情况下工作。根据他们的文档,我自己没有测试过。

于 2013-02-20T14:11:13.877 回答
0

非常过时,但似乎仍然需要添加一种可能的解决方案。如果您不能使用表单(在 .NET 中,每页不能超过 1 个表单),您仍然可以直接验证每个字段。

所以而不是

$("#divID").validate();

您可以使用:

var isValid = $("#fullname").validate();
isValid = $("#age").validate();

if(isValid){
// do submit form
}
于 2021-10-18T17:02:21.280 回答