Backbone.js 遍历u0.each时出现问题
我不熟悉backbone.js和underline.js。我有一个注册和登录表单,用于处理验证错误。 当我提交未填写的表单时,我正在捕获错误。 当我把所有的错误都写在表格上的时候,我被卡住了。我只得到数组中所有表单元素的最后一个错误。我研究了一下,似乎找不到解决办法。下面是代码片段 该函数遍历数组,但只给出数组中的最后一个索引,而不是所有索引 错误消息。我的控制台日志显示执行console.log(error.message)时的所有错误消息 但并没有在表格上全部显示,只有我所说的最后一个。我做错了什么 谢谢你的帮助 先谢谢你。 我会发布完整的代码一,我让它工作,所以它可以帮助其他人。我m使用主干1.1.2 PDH 而不是这个Backbone.js 遍历u0.each时出现问题,backbone.js,underscore.js,Backbone.js,Underscore.js,我不熟悉backbone.js和underline.js。我有一个注册和登录表单,用于处理验证错误。 当我提交未填写的表单时,我正在捕获错误。 当我把所有的错误都写在表格上的时候,我被卡住了。我只得到数组中所有表单元素的最后一个错误。我研究了一下,似乎找不到解决办法。下面是代码片段 该函数遍历数组,但只给出数组中的最后一个索引,而不是所有索引 错误消息。我的控制台日志显示执行console.log(error.message)时的所有错误消息 但并没有在表格上全部显示,只有我所说的最后一个。我做
$("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 <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);
},