1

我有一个表单,我正在使用 jquery 并进行验证。我在验证中使用 errorPlacement 在缺少的必填字段周围设置边框。除了预先填写字段外,它似乎可以按我的意愿工作。提交表单时,验证标记预填充的文本字段无效。如果我给予焦点然后离开该字段,则预填充字段将全部删除边框。请参阅http://jsfiddle.net/paries/u3Td3/8/上的示例

4

2 回答 2

1

您可以在放置前检查错误文本。

    errorPlacement: function(error, element) {
        if(error.text().length>0){
            $(element).filter(':not(.valid)').addClass("invalid");
        }
    },
于 2012-08-28T18:53:31.230 回答
0

只需将您的 CSS 更改为 hang off of .error,这是 jQuery validate 默认使用的类来指示无效字段。

您的问题是由于顺序而发生的:您的:not('.valid')检查在添加有效类之前运行。如果您在示例中单击“继续”后检查预填充的输入,您会发现它们同时具有invalidvalid作为类。

http://jsfiddle.net/u3Td3/12/

于 2012-08-28T18:49:22.663 回答