简体   繁体   English

.validate()无法正常工作

[英].validate() not working JQuery

I have a problem regarding in validation in html. 我在html验证中遇到问题。 I'm using .validate() of the validation plugin but its not working to me. 我正在使用验证插件的.validate(),但对我不起作用。 can someone help me from my problem? 有人可以帮助我解决我的问题吗? I have two names in each of my . 我的每个人都有两个名字。 An array of data i used in inserting in database. 我在数据库中插入数据时使用的数组。 Is it conflict? 有冲突吗? what should I do since it is required that we need to use array in inserting data to the database? 由于需要在将数据插入数据库中使用数组时,我该怎么办? I already try to put "#" and "data[0]" in my rules to look for the but still not worked. 我已经尝试在规则中放入“#”和“ data [0]”以查找,但仍然无法正常工作。

Note: the validation.js served as my validation plugin which i've downloaded online. 注意:validation.js是我在线下载的验证插件。 jQuery Validation Plugin 1.11.1. jQuery验证插件1.11.1。 And the jquery.js served as JQuery 1.8.3. 并且jquery.js充当了JQuery 1.8.3。

Here's my code. 这是我的代码。

<html>

<head>
<script type="text/javascript" src="jquery.js"></script>
<script src="jquery-ui-1.10.4.custom/js/jquery-ui-1.10.4.custom.min.js"></script>
<script src="loginBouncy.js"></script>
<script src="modal.js"></script>
<script type="text/javascript" src="validation.js"></script>
<script src="validate.js"></script>

<form id="mainform" name="mainform" method="post" action="SignUp2.php">
<input type="text" name="data[]" id="fname" name="fname" placeholder="First Name"/>
<input type="text" name="data[]" id="lname" name="lname" placeholder="Last Name"/>
<input type="text" name="data[]" id="mname" name="mname" placeholder="M.I."/>
<input type="text" name="data[]" id="sadd"  name="sadd" placeholder="Street"/>
<input type="text" name="data[]" id="tadd"  name="tadd" placeholder="Town/City"/>
<input type="text" name="data[]" id="padd"  name="padd" placeholder="Province/State"/>
<input type="text" name="data[]" id="user2" name="user2" placeholder="Your Username"/>
<input type="password" name="data[]" id="pass2" name="pass2" placeholder="Your Password">
<input id="captcha" name="captcha" type="text" name="captcha" placeholder="Insert Captcha">
<img id="imgcaptcha" src="captcha.php" /><br>
<input type="text" name="data[]" id="email" name="email" placeholder="Your Email"/>
<input type="button" id="btnSignUp"  placeholder="" onclick=""/>
</input>
<p id="confirm" style="font-size:15pt; position:absolute; top:450px; left:850px; ">dfgfdgdf</p>

</form>
</html>

my validate.js 我的validate.js

$(document).ready(function(){
$('#btnSignUp').click(function(){
$('#mainform').validate({
    rules:
    {
        fname:
        {
            required: true,
            minlength: 7
        }
    },
    success: function(){
    alert("valid");
    }

});
});
});

There are multiple problems. 有多个问题。

The validator uses name of the input field, you have 2 name attributes in the input field remove name="data[]" , it should be like <input type="text" id="fname" name="fname" placeholder="First Name" /> 验证器使用输入字段的名称,您在输入字段中有2个name属性remove name="data[]" ,它应类似于<input type="text" id="fname" name="fname" placeholder="First Name" />

The validation is automatically applied on form submit event so change btnSignUp to type="submit" 验证将自动应用于表单提交事件,因此将btnSignUp更改为type="submit"

<input type="submit" id="btnSignUp" placeholder="" value="Sign Up" />

Also the validate framework should be initialized on dom ready, not in a click handler 另外,validate框架应在dom就绪的情况下初始化,而不是在单击处理程序中初始化

jQuery(function ($) {
    $('#mainform').validate({
        rules: {
            fname: {
                required: true,
                minlength: 7
            }
        },
        success: function () {
            alert("valid");
        }

    });
    $('#btnSignUp').click(function () {

    });
});

Demo: Fiddle 演示: 小提琴

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM