jquery - 将标签内容替换为错误消息

标签 jquery validation

我正在尝试用错误消息定位并替换现有输入 [label] 标记的内容,而不是依赖于验证插件的默认行为,即。在输入字段上方或下方的 DOM 中添加另一个 [标签]。

这是表格,没什么花哨的!

<form id="loginForm" action="testing.htm">

    <label for="username">Username</label>
        <input id="username" name="username" type="text">

    <label for="password">Password</label>
        <input id="password" name="password" type="text">

    <label for="clientid">Client ID</label>
        <input id="clientID" name="clientID" type="text">

    <input id="submitButton" name="submitButton" type="submit" value="Login">

</form>

...这是脚本

<script type="text/javascript">

    $("#loginForm").validate({

        rules: {
            username: "required",
            password: {
                required: true,
                digits: true
            },
            
            clientID: "required"
            },

        messages: {
            username: "Please enter your username",
            password: "Please enter your password",
            clientID: "Please enter a client ID"            
        },
        
        errorPlacement: function(error, element) {},        
        
    });

</script>

正如你所看到的,我将 errorPlacement 代码留空,希望有人可以帮助我填补空白。我尝试了以下方法,但没有成功。

errorPlacement: function(error, element) {
    error.insertBefore( element );
}

最佳答案

您应该能够在回调中执行类似的操作。

$('label[for="' + element.attr("id") + '"]').text(error.text());

不过,我对这种方法提出质疑,因为一旦错误被修复,我认为你的标签就会消失。您可以使用我提供的方法来查找其他标签并将其隐藏,但您还需要重写成功回调以再次显示原始标签。

关于jquery - 将标签内容替换为错误消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5077902/

相关文章:

ASP.NET MVC 2 验证嵌套对象

javascript - 多行文本框中的电子邮件验证

python - Django 在管理员中验证一个模型字段与另一个模型字段的对比

html - 在 HTML 元素上有多个单独的类属性是否有效?

JavaScript 滚动当前 View 的元素 id

jquery - 点击后CSS悬停状态变为非事件状态

javaScript 不适用于由 jquery 加载函数加载的页面

jquery - 使用 JQuery 包装 html 字符串

javascript - 根据菜单中的选择更改值

javascript - 自动生成表单的 AngularJS 表单验证