MVC4中的jQuery.Validate

时间:2012-11-15 13:00:42

标签: jquery asp.net-mvc asp.net-mvc-4 jquery-validate

我想在MVC4项目中使用jQUery.validate。我有一个向导设置(来自stepy),我有6个步骤可以完成。在每个步骤,我想添加验证。现在验证工作,直到我使用复选框。 在第2步,我有一个复选框。当我想继续第3步时,它给了我错误: 无法读取未定义的属性名称。

当我删除复选框时,一切正常。此外,当我运行HTML时,它可以工作,但如果我把它放入MVC剃须刀,它就会失败。

感谢任何帮助。

感谢

这是HTML + jQuery:

<!DOCTYPE html>

<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <meta http-equiv="Pragma" content="no-cache">
    <meta http-equiv="Expires" content="-1">

    <title>jQuery Stepy - A Wizard Plugin</title>

    <link type="text/css" rel="stylesheet" href="css/jquery.stepy.css" />
    <script type="text/javascript" src="js/jquery-1.8.2.js"></script>
    <script type="text/javascript" src="js/jquery.validate.min.js"></script>
    <script type="text/javascript" src="js/jquery.stepy.min.js"></script>
<script type="text/javascript">
        $(function() {

            $('#custom').stepy({
                backLabel:  'Backward',
                block:      true,
                errorImage: true,
                nextLabel:  'Forward',
                titleClick: true,
                validate:   true
            });


            // Optionaly
            $('#custom').validate({
                 rules: {
                    'checked':      'required',
                }, messages: {

                    'checked':  { required:  'error' },
                             }
            });
        });
    </script>

</head>
<body>
    <div id="header">

    </div>

    <div id="content">




        <form id="custom">
            <fieldset title="Thread 1">
                <legend>description one</legend>

                <label>User:</label>
                <!-- Hidden fields are not focused.  -->
                <input type="hidden" name="hidden" />

                <!-- Disabled fields are not validated.  -->
                <input type="text" value="wbotelhos" size="40" name="user" disabled="disabled" />

                <label>E-mail:</label>
                <input type="text" size="40" name="email" />
                <input type="checkbox" name="checked" /> Checked?

                <label>Naa:</label>
                <input type="text" size="40" name="Naam" />

                <label>Newsletter?</label>
                <input type="radio" name="newsletter" /> Yep
                <input type="radio" name="newsletter" /> Nop

                <label>Password:</label>
                <input type="password" name="password" size="40" />
            </fieldset>

            <fieldset title="Thread 2">
                <legend>description two</legend>

                <label>Nick Name:</label>
                <input type="text" size="30" />

                <label>Bio:</label>
                <textarea name="bio" rows="5" cols="60"></textarea>
            </fieldset>

            <fieldset title="Thread 3">
                <legend>description three</legend>

                <label>Birthday:</label>
                <select name="day">
                    <option></option>
                    <option>23</option>
                </select>

                <select>
                    <option>10</option>
                </select>

                <select>
                    <option>1984</option>
                </select>

                <label>Site:</label>
                <input type="text" name="site" size="40" />
            </fieldset>

            <input type="submit" class="finish" value="Finish!" />
        </form><br/>


</body>

1 个答案:

答案 0 :(得分:0)

问题中的代码缺少结束div标记。

除此之外,它没有任何问题。问题是an example from stepy on github,它似乎与复选框一起使用。我会尝试让示例正常工作并检查您是否引用了所有js文件。