Jquery.validate 缺失 : after property id

标签 jquery jquery-validate

所以这段代码看起来不错,我似乎看不出错误来自哪里。它被正确包装在 $(document).ready(function(){.

$("#signup-form").validate({
    rules: {
        firstname: 'required',
        signup-email: 'required',
        signup-password: 'required',
        signup-password-v: 'required'
    },
    messages: {
        firstname: 'Your firstname is required!',
        signup-email: 'Your email is required!',
        signup-password: 'A password is required!',
        signup-password-v: 'Please verify your password!'
    }
});

我在 html head 标签中的 jquery 库之后调用 jquery.validate,所以有什么想法吗?

html

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
    <head>
        <title></title>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
        <link rel='stylesheet' type='text/css' href='./css/index.css' />
        <script type="text/javascript" src="./js/jquery-1.6.2.min.js"></script>
        <script type="text/javascript" src="./js/jquery.validate.js"></script>
        <script type="text/javascript" src="./js/index.js"></script>
    </head>
    <body>
        <div id="navbar">
            <div id="title">CrockShark.com</div>
        </div>
        <div id="container">
            <div id="navcontainer">
                <ul id="navlist">
                    <li>Find great Crockpot recipes</li>
                    <li>Save 'em</li>
                    <li>Post your own</li>
                    <li>See how many people like yours</li>
                </ul>
            </div>
            <div id="signup">
                <form id="signup-form">
                <label>First Name:</label>
                    <input type="text" class="signup-input" id ="firstname" name="firstname" /><br />
                <label>Last Name:</label>
                    <input type="text" class="signup-input" id="lastname" name="lastname" /><br />
                <label>Birthday:</label>
                    <select id="month" name="month">
                        <option value="1">January</option>
                        <option value="2">February</option>
                        <option value="3">March</option>
                        <option value="4">April</option>
                        <option value="5">May</option>
                        <option value="6">June</option>
                        <option value="7">July</option>
                        <option value="8">August</option>
                        <option value="9">September</option>
                        <option value="10">October</option>
                        <option value="11">November</option>
                        <option value="12">December</option>
                    </select>
                    <select id="day" name="day">
                        <?php for ($i=1; $i<=31; $i++) { echo "<option value='$i'>$i</option>"; } ?>
                    </select>
                    <select id="year" name="year">
                        <?php for ($i=2012; $i>=1900; $i=$i-1) { echo "<option value='$i'>$i</option>"; } ?>
                    </select><br />
                <label>Email:</label>
                    <input type="text" class="signup-input" id="signup-email" name="signup-email" /><br />
                <label>Password:</label>
                    <input type="password" class="signup-input" id="signup-password" name="signup-password" /><br />
                <label>Verify Password:</label>
                    <input type="password" class="signup-input" id="signup-password-v" name="signup-password-v" /><br />
                    <input type="button" id="signup-button" name="signup-button" value="Join!" />
            </form>
            </div>
            <div id="login">
                <div id="login-wrapper">
                    <label>Email:</label><input type="text" class="login" id="login-email" /><br />
                    <label>Password:</label><input type="password" class="login" id="login-password" />
                    <input type="button" id="login-button" value="Login" /> 
                </div>
            </div>
        </div>
    </body>
</html>

最佳答案

属性名称中不能包含破折号:

signup-email: 'Your email is required!',

不过,我认为您可以将这些属性用引号引起来,并获得您想要的效果:

'signup-email': 'Your email is required!',

关于Jquery.validate 缺失 : after property id,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8107227/

相关文章:

jquery - 将表单发布的结果放入 Bootstrap 3 中的模式中

php - getJSON 与 jquery

javascript - 在 jQuery 中检查 href 是否存在查询字符串

JQuery表排序;动态添加行的问题

javascript - 如何使用 gem 'jquery-validation-rails' 验证 AJAX 请求的表单

jQuery 状态验证

javascript - jQuery 验证动态百分比字段

javascript - jcarousel 宽度问题

Jquery 验证 + 全局化 + 应用于所有数字字段,而不仅仅是所需的字段

jquery - jQuery 在选择列表上验证的问题