Ich habe Karte für Artikel validieren.Verwenden Sie alle für Funktionen als Objekteigenschaft
var articleMap = {
author: function (author) {
if(author) {
return author.length > 0;
}
},
title: function (title) {
if (!title) {
return title.length > 0;
}
}
};
Und das ist Beispiel für Artikel
var article =
{
id: '1',
title: '«Title',
summary: 'Summary',
createdAt: new Date(2017, 3, 5, 8, 0),
author: 'John',
content: 'Content',
tags: ['tag1', 'tag2'],
picture: 'images/id_1.jpeg'
};
zu validieren und wenn ich jeden für Object.keys
verwenden verwendet es nur ersten Schlüssel. Aber wenn ich forEach
verwende, ist alles in Ordnung. Auch mein Code muss korrekt funktionieren, wenn ich keine Schlüssel im Artikel habe (zum Beispiel 'content'
). Was soll ich reparieren?
Object.keys(articleMap).every(function (item) {
alert(articleMap[item](article[item]));
});
Dies ist, weil Sie nichts ('undefined') aus dem Rückruf zurückgeben, der falsch ist. – georg
@georg https://jsfiddle.net/q4stx5mn/ also ist das richtig? – Vladislav
'if (! Title) return title.length> 0;' macht keinen Sinn – Bergi