我一直在尝试为我的网站找到一个好的验证解决方案,但是我在不同的选项上遇到了问题。我已经仔细阅读了文档并查看了示例,但仍然存在问题。
我的表单在一个表格中。我希望每一行都有自己的错误行,通常情况下这些行是隐藏的,但会根据需要显示。
以下选项可以很好地隐藏和显示错误行,但是每个错误行中显示的错误消息是所有错误消息的整个串联:
我的表单在一个表格中。我希望每一行都有自己的错误行,通常情况下这些行是隐藏的,但会根据需要显示。
以下选项可以很好地隐藏和显示错误行,但是每个错误行中显示的错误消息是所有错误消息的整个串联:
$('#myform').validate({
rules: {
firstName: "required",
lastName: "required"
},
messages: {
firstName: "Enter your first name.",
lastName: "Enter your last name."
},
errorContainer: '.errorRow',
errorLabelContainer: '.errorRow.appValueColumn',
errorPlacement: function(error, element) {
error.appendTo( element.parent().next() );
}
});
我尝试使用如下的showErrors选项:
$('#myform').validate({
rules: {
firstName: "required",
lastName: "required"
},
messages: {
firstName: "Enter your first name.",
lastName: "Enter your last name."
},
errorContainer: '.errorRow',
errorContainer: '.errorRow.appValueColumn',
showErrors: function(errorMap, errorList) {
$.each(errorMap, function(key, value) {
$('#'+key).parent().next().children('.appValueColumn').html(errorMap[key]);
});
好的,现在所有的错误都被分开并显示在正确的位置,但我无法让 .errorRows
显示。我在这里做错了什么?
非常感谢。
this.defaultShowErrors()
,但在代码示例中,它被包含在$.each()
中! 发现得好;-) - Didier Ghys