jQuery验证-在文本字段中显示错误消息

jQuery验证-在文本字段中显示错误消息,jquery,jquery-validate,Jquery,Jquery Validate,我正在为我的客户构建一个简单的表单,他们希望在文本字段中显示错误消息。使用jQuery的验证插件可以实现这一点吗 谢谢 是的,当然这是可能的,因为您验证了文本字段及其捕获的错误 只需将错误消息也指定为该文本字段或占位符的值 $("#yourtextfield").val("This field can't be empty."); 是的,你可以。你的技术似乎很粗糙 让我们走简单的道路,因为你的问题听起来很简单。出现错误时,给出一个条件,将消息字符串作为值分配给输入字段 差不多 var err=

我正在为我的客户构建一个简单的表单,他们希望在文本字段中显示错误消息。使用jQuery的验证插件可以实现这一点吗


谢谢

是的,当然这是可能的,因为您验证了文本字段及其捕获的错误 只需将错误消息也指定为该文本字段或占位符的值

$("#yourtextfield").val("This field can't be empty.");

是的,你可以。你的技术似乎很粗糙

让我们走简单的道路,因为你的问题听起来很简单。出现错误时,给出一个条件,将消息字符串作为值分配给输入字段

差不多

var err=“err\u msg”

$('#elementId').val(err)


请参见
.val('value')
一节,在引用OP:

“他们希望在文本字段中显示错误消息。这是否正确?” 使用jQuery的验证插件是否可以实现这一点?”

是的。可以使用插件的
errorPlacement
回调函数/选项

不,我永远不会这样做。这使得用户几乎不可能正确地与表单交互。该错误会清除用户已输入的所有数据,用户必须删除消息文本才能输入数据。我相信你可以想出一些聪明的方法来克服这些问题,但在我看来,从UI的角度来看,这是一个非常糟糕的设计。显示您的客户端,然后向下滚动并显示它们

演示:


编辑:您可以使用
占位符
属性。消息仍将位于输入元素内部,但它不会被视为
,因此不会对用户交互造成太多干扰然而,这种方法的一大缺点是,如果您有一个规则来验证数据格式,例如
电子邮件
最小长度
,等等。。。用户将永远看不到验证消息,因为占位符顶部的字段中有一个值

errorPlacement: function(error, element) {
    element.attr("placeholder", error.text());
}
演示2:


备选方案:

使用消息气泡显示错误


更多信息

他们告诉你这是一种不好的方法,也许是

但是您可以使用占位符,而不是替换中已有的内容,只需更改以下内容:

errorPlacement: function(error, element) {
    element.val(error.text());
}
为此:

errorPlacement: function(error, element) {
    element.attr("placeholder",error.text());
}

希望对你有帮助,保重

哈哈。。封闭式问题的封闭式答案……)在表单字段中使用占位符文本。对于验证错误,最好不要在字段中显示消息,而是突出显示字段并在字段旁边显示错误。如何使用OP的插件执行此操作?谢谢您的输入。你的评论对说服我的客户不要在字段中显示错误消息非常有用。是的,我在JavaScript方面非常基础。我必须坐下来好好学习:(+1.你的第一把小提琴有点滑稽。不可能删除错误消息来输入所需信息。我认为我的答案在这种情况下更有效,虽然你的第二把小提琴更好,但这不是OP提出的问题,幸运的是你的假设起了作用。对于我答案的否决票,我清楚地提到这是一个错误简单问题的简单解决方案。顺便说一句,这似乎是另一个被抛弃的解决方案,直到永远都不会被接受。@JungleJap:开始接受一个解决你问题的答案,否则,人们会停止回答你的问题。@Fr0zenFyr,谢谢。我的第一个问题只是为了证明他的要求毫无意义,而且为了说明原因。有两种笨拙的解决方法本可以让它变得更好,但我选择将它们排除在外是出于同样的原因……我显然只是想指出,将错误放在元素中是一种非常糟糕的设计。如果唯一的规则是
必需的
,这将非常有效。然而,这一方法的最大缺点是方法是,如果您有规则来验证数据格式,例如
电子邮件
最小长度
,等等,则用户将永远无法看到错误消息。
errorPlacement: function(error, element) {
    element.attr("placeholder",error.text());
}