0

我一直试图让它工作 2 天,但没有成功,尝试了所有关于它的教程并浏览了一些实际工作的代码,但没有任何用处。

很可能它会很容易找到,但我的 jquery 知识非常有限。

问题是我无法让验证正常工作,之前它仅适用于使用“Class = required email”属性的一个字段(电子邮件字段)。然而,那个人也停止了工作。

  $(document).ready(function(){
$("#forumulier").validate({
    rules: {
            telephone: {
                required: true,
                digits: true,
                        },

            name: {
                required: true,
                    },

            surname: {
                required: true,
                    },

            email: {
                required: true,
                email: true,
                }
            },
    messages: {
            telephone: {
                digits: "* voer een geldig telefoon nummer in"
                },
            name: {
                required: "* dit veld is verplicht"
                },
            surname: {
                required: "* dit veld is verplicht"
                },
            email: { 
                required: "* voer een geldig email adres in"
                }
            }
        submitHandler: function(form){
            return false;
            }
});
})

------

<form id="formulier" method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>">
            <div class="group">
            <label for="name" class="label">Naam*:</label>
            <input type="text" name="name"/>
            </div>

            <div class="group">
            <label for="surname" class="label">Achternaam*:</label>
            <input type="text" name="surname"/>
            </div>

            <div class="group">
            <label for="email" class="label">Email*:</label>
            <input type="text" name="email" />
            </div>

            <div class="group">
            <label for="telephone" class="label">Telefoon*:</label>
            <input type="text" id="telephone" name="telephone" />
            </div>

            <label for="extra" class="label">Opmerkingen:</label>
            <textarea class="small-area"></textarea>


            <div class="clear"></div>

            <button type="submit" class="send">Verzenden</button>
        </form>

感谢任何

4

3 回答 3

0
 $(document).ready(function(){
$("#forumulier").validate({
    rules: {
            telephone: {
                required: true,
                digits: true
                        },

            name: {
                required: true
                    },

            surname: {
                required: true
                    },

            email: {
                required: true,
                email: true
                }
            },
    messages: {
            telephone: {
                digits: "* voer een geldig telefoon nummer in"
                },
            name: {
                required: "* dit veld is verplicht"
                },
            surname: {
                required: "* dit veld is verplicht"
                },
            email: { 
                required: "* voer een geldig email adres in"
                }
            },
        submitHandler: function(form){
            form.submit();
            }
});
});

看起来你只是有太多的逗号。您需要将代码通过 javascript 调试器,它会在您遇到简单的语法错误时通知您。

于 2012-11-02T15:45:07.700 回答
0

除了其他人用逗号指出的问题之外,您只是formulier在验证调用中拼错了,因此它没有将验证代码附加到任何东西(您使用了“for* u *mulier”)。

所以修复它:

$("#formulier").validate({
    rules: {
        telephone: {
            required: true,
            digits: true
                    },

        name: {
            required: true
                },

        surname: {
            required: true
                },

        email: {
            required: true,
            email: true
            }
        },
    messages: {
        telephone: {
            digits: "* voer een geldig telefoon nummer in"
            },
        name: {
            required: "* dit veld is verplicht"
            },
        surname: {
            required: "* dit veld is verplicht"
            },
        email: { 
            required: "* voer een geldig email adres in"
            }
        },
    submitHandler: function(form){
        return false;
        }
});​​​​

为每个对象中的最后一项删除了逗号。在 submitHandler 之前添加逗号。 forumulier更改为formulier.

现在看起来像这样:http: //jsfiddle.net/ryleyb/Xn5YJ/

于 2012-11-02T20:56:08.937 回答
0

当您为验证设置消息时,您需要为您正在使用的每个验证设置一条消息:必需、日期、电子邮件等。

像这样。

messages: {
    telephone: {
        required: " your message here",
        digits: "* voer een geldig telefoon nummer in"

    },
    name: {
        required: "* dit veld is verplicht"
    },
    surname: {
        required: "* dit veld is verplicht"
    },
    email: { 
        required: "* voer een geldig email adres in",
        email: " your message here"
    }
},
submitHandler: function(form){
   form.submit();
}

这应该适用于您的示例。

更新..这是一个完整的例子。我用过你的代码+我的。

<html>
<head>
    <title></title>
</head>
<body>
<form id="form" method="post" action="">
<div class="group">
<label for="name" class="label">Naam*:</label>
<input type="text" name="name"/>
</div>

<div class="group">
<label for="surname" class="label">Achternaam*:</label>
<input type="text" name="surname"/>
</div>

div class="group">
<label for="email" class="label">Email*:</label>
<input type="text" name="email" />
</div>

<div class="group">
<label for="telephone" class="label">Telefoon*:</label>
<input type="text" id="telephone" name="telephone" />
</div>

<label for="extra" class="label">Opmerkingen:</label>
<textarea class="small-area"></textarea>


<div class="clear"></div>

<input type="submit" class="send">
</form>​
<script type="text/javascript" src='https://ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js'></script>
    <script src='http://ajax.aspnetcdn.com/ajax/jquery.validate/1.10.0/jquery.validate.min.js'></script>
<script>
$(document).ready(function(){
$("#form").validate({
rules: {
telephone: {
required: true,
digits: true,
},
name: {
required: true,
},
surname: {
required: true,
},
email: {
required: true,
email: true,
}
},
messages: {
telephone: {
required: " your message here",
digits: "* voer een geldig telefoon nummer in"
},
name: {
required: "* dit veld is verplicht"
},
surname: {
required: "* dit veld is verplicht"
},
email: { 
required: "* voer een geldig email adres in",
email: " your message here"
}
},
submitHandler: function(form){
form.submit();
}
});
});          
</script>​​​​​​​​​​​​​​
</body>
</html>

查看您的提交按钮。你有按钮类型='提交'。当我使用它时,它不起作用。将其更改为 input type='submit'

于 2012-11-02T16:44:58.230 回答