不知道为什么我的 div 没有显示验证消息

问题描述 投票:0回答:2

我似乎无法弄清楚为什么在验证字段后我的 div 中没有显示任何文本。我知道验证正在运行,但是我不确定为什么我的验证消息没有显示在 div 中。

这是我的代码:

<html>
<head>
    <script src="Scripts/jquery-1.5.2.js" type="text/javascript"></script>
    <script src="http://localhost:62147/Scripts/jquery.validate.js" type="text/javascript"></script>
    <script type="text/javascript">
        "use strict";
        $(document).ready(function () {

            $("#testerbtn").bind("click", function () {
                alert("onclick is fired");
                $("#myform").validate({
                    errorLabelContainer: $("#Errors"),
                    rules: {
                        textToVal: { required: true }
                    },
                    messages: {
                        textToVal: "the field is required! nub~!"
                    }
                });
                alert("validation should have happend.");

            })
        });
        
    </script>
    <title>Test Page</title>
</head>
<body>
    <form id = "myform" action="htmlPage1.htm">
         <div id="Errors"></div>
        <div>
            <input type="text" id="textToVal"  value="" />
            <input type="button" id="testerbtn"  value="Tester" />
        </div>
    </form>
</body>
</html>
jquery html jquery-validate
2个回答
7
投票

我在这里看到一些可能导致问题的事情:

  1. 确保您的

    input
    具有
    name
    属性:

    <input type="text" id="textToVal"  value="" name="textToVal" />
    
  2. validate()
    应该在点击处理程序的 outside 实例化。此外,将您的
    button
    类型更改为
    submit
    以自动触发验证码。

总结:

JavaScript:

$(document).ready(function () {
    $("#myform").validate({
        errorLabelContainer: $("#Errors"),
        rules: {
            textToVal: {
                required: true
            }
        },
        messages: {
            textToVal: "the field is required! nub~!"
        }
    });
});

Html:

<form id = "myform" action="htmlPage1.htm">          
    <div id="Errors"></div>         
    <div>             
        <input type="text" id="textToVal"  value="" name="textToVal" />             
        <input type="submit" id="testerbtn"  value="Tester" />         
    </div>     
</form>

工作示例:http://jsfiddle.net/fJ8XF/


0
投票

嗨特伦斯,

我相信

errorLabelContainer
是一个选择器(字符串),所以你应该使用 “
#Errors
”而不是
$('#Errors')

© www.soinside.com 2019 - 2024. All rights reserved.