Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/backbone.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Backbone.js 遍历u0.each时出现问题_Backbone.js_Underscore.js - Fatal编程技术网

Backbone.js 遍历u0.each时出现问题

Backbone.js 遍历u0.each时出现问题,backbone.js,underscore.js,Backbone.js,Underscore.js,我不熟悉backbone.js和underline.js。我有一个注册和登录表单,用于处理验证错误。 当我提交未填写的表单时,我正在捕获错误。 当我把所有的错误都写在表格上的时候,我被卡住了。我只得到数组中所有表单元素的最后一个错误。我研究了一下,似乎找不到解决办法。下面是代码片段 该函数遍历数组,但只给出数组中的最后一个索引,而不是所有索引 错误消息。我的控制台日志显示执行console.log(error.message)时的所有错误消息 但并没有在表格上全部显示,只有我所说的最后一个。我做

我不熟悉backbone.js和underline.js。我有一个注册和登录表单,用于处理验证错误。 当我提交未填写的表单时,我正在捕获错误。 当我把所有的错误都写在表格上的时候,我被卡住了。我只得到数组中所有表单元素的最后一个错误。我研究了一下,似乎找不到解决办法。下面是代码片段

该函数遍历数组,但只给出数组中的最后一个索引,而不是所有索引 错误消息。我的控制台日志显示执行console.log(error.message)时的所有错误消息 但并没有在表格上全部显示,只有我所说的最后一个。我做错了什么

谢谢你的帮助 先谢谢你。 我会发布完整的代码一,我让它工作,所以它可以帮助其他人。我m使用主干1.1.2

PDH

而不是这个

$("div.form-group").find('.help-inline').text(error.message);
使用

$(“div.form-group”).find('.help inline').append(error.message+“
”);

在每个循环中,您将覆盖已经存在的文本。因此,只有最后一个索引将通过错误div循环出现。从数组中获取适当的错误。将error设置为error div的文本

_.each($("div.form-group").find('.help-inline'), function(errorDiv, index){

 $(errorDiv).text(errors[index]);
});

我弄明白了我的问题是什么,我可以责备自己没有看到显而易见的东西。我的代码是正确的问题是我写得太多了,因为所有的类都有相同的名称。我不得不对我的工作做些改变 HTML代码。以前我所有的类名都是一样的,比如formgroup。我把名字改成了群发邮件 例如,它解决了我验证中的几个问题。希望它能节省别人的时间 PDH


电子邮件

错误:功能(错误){ _.每个(错误、函数(错误、索引){ var controlGroup=this.$('..+error.name); controlGroup.addClass('errors'); controlGroup.find('.help inline').text(error.message); console.log(错误消息); },这个); },
感谢您的快速回复,append可以工作,但是现在我在每行上都会看到错误,因为数组中的每个元素都应该只有一个错误。请使用这样的标记$(“div.form-group”).find(“.help inline”).append(error.message+”
);嗨,这对我不起作用。errors是一个对象,它保存关于errorvar errors=[]的所有信息;警报(“捕获错误”)//如果(!attrs.email){errors.push({name:'email',message:'请输入有效的电子邮件地址。'});}如果(errors.length>0),则处理错误{返回错误。长度>0?错误:false;}
$("div.form-group").find('.help-inline').append(error.message+"<br />");
_.each($("div.form-group").find('.help-inline'), function(errorDiv, index){

 $(errorDiv).text(errors[index]);
});
<div class="form-group email">
<label for="email2">email &nbsp;<span class="help-inline">
</span><input type="email" name="email"></label><br />             
</div>

showErrors: function(errors) {

 _.each(errors, function ( error, index) {

 var controlGroup = this.$('.' + error.name);
 controlGroup.addClass('errors');

 controlGroup.find('.help-inline').text(error.message);
 console.log(error.message);


}, this);
},