jQuery Validation Plugin适用于某些规则,但忽略其他规则

时间:2014-02-08 01:11:59

标签: javascript jquery jquery-validate

我在验证插件时遇到问题,无法识别所有输入标签和文本区域是否需要。它正在验证电子邮件字段,但没有其他人。

$(document).ready(function() {

$('#contactForm').validate({
    rules: {
        name: {
            required: true,
            minlength: 1
        },
        email: {
            required: true,
            email: true
        },
        subject: {
            required: true,
            minlength: 1
        },
        message: {
            required: true,
            minlength: 1
        }
    }
});
});

这是我试图验证的页面的HTML

<form id="contactForm" action="./gdform.php" method="post">

        <div id="formSection">
            <input type="hidden" name="redirect" value="./thankyou.html" />
            <div id="topSection">
                <label><input type="text" id="Name" name="name" value="Name" required /></label>
                <label><input type="text" id="Email" name="email" value="Email" required /></label>
            </div>
            <div id="messageSection">
                <label><input id="Subject" type="text" name="subject" value="Subject" /></label>
                <label><textarea name="message" rows="6" required>Message</textarea></label>

                <button type="submit">Send</button>
            </div>
        </div>

    </form>

这是一个小提琴,所以你可以看到我的问题http://jsfiddle.net/mM62X/。 任何有关此问题的帮助将不胜感激!

1 个答案:

答案 0 :(得分:0)

问题是,您要添加默认值所有输入元素而不是使用占位符。由于输入元素中有一个值,因此所需的验证将通过,因此没有验证错误。

<form id="contactForm" action="./gdform.php" method="post">
    <div id="formSection">
        <input type="hidden" name="redirect" value="./thankyou.html" />
        <div id="topSection">
            <label>
                <input type="text" id="Name" name="name" placeholder="Name" required />
            </label>
            <label>
                <input type="text" id="Email" name="email" placeholder="Email" required />
            </label>
        </div>
        <div id="messageSection">
            <label>
                <input id="Subject" type="text" name="subject" placeholder="Subject" />
            </label>
            <label>
                <textarea name="message" rows="6" required placeholder="Message"></textarea>
            </label>
            <button type="submit">Send</button>
        </div>
    </div>
</form>

演示:Fiddle

注意:不支持&lt; IE 10

相关问题