如何将jQuery Validation文本放在Title的右侧而不是Input Field的右侧

时间:2013-05-16 15:54:06

标签: javascript jquery css jquery-validate

如果验证失败,我正在使用jQuery验证来生成自定义消息。 默认情况下,消息将位于其正在验证的输入字段的右侧。 我希望此消息始终位于字段标题的右侧。

例如,我希望它看起来像这样: http://jsfiddle.net/zWgbP/

我一直在玩添加:

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

...但这不太正确,因为我需要它在标题“姓氏”之后的休息时间。

如果我用span或div包围它并使用我在下面的jQuery方法给它一个id,是否有更好的方法来定位字段标题?

如果没有,是否有更好的方法?

THE JAVASCRIPT

$(document).ready(function() {

// validate signup form on keyup and submit
$("#newform").validate(  

    rules: {
        lastname: {
            required: true, 
            minlength: 2            
        },

    messages: {
        lastname: {
            required: "* please fix",
            minlength: "* please fix"
        },

HTML

<form name="newform" id="newform" method="post" onsubmit="return OnNewButton();">

<input type='text' id='lastname' name='lastname' size='20' value = "" />

</form>

CSS

<style type="text/css">
#newform label.error {
color: red;
font-size: 15px;
}
</style>

1 个答案:

答案 0 :(得分:0)

答案是在我的jQuery中添加以下errorPlacment选项:

errorPlacement: function(error, element) {
    error.appendTo('#title-' + element.attr('id'));
},    

然后我改变了这个:

Last Name<br />

<span id="title-lastname">Last Name</span><br />

正在验证的字段的ID是“姓氏”。

执行此操作时,我的错误消息会在完全断开之前附加到跨度。

谢谢你帮助每个人。