diff --git a/js/id/validate.js b/js/id/validate.js index 167fa4f37..c267f8675 100644 --- a/js/id/validate.js +++ b/js/id/validate.js @@ -1,5 +1,5 @@ iD.validate = function(changes, graph) { - var warnings = [], change; + var warnings = []; // https://github.com/openstreetmap/josm/blob/mirror/src/org/ // openstreetmap/josm/data/validation/tests/UnclosedWays.java#L80 @@ -22,20 +22,16 @@ iD.validate = function(changes, graph) { } for (var i = 0; i < changes.created.length; i++) { - change = changes.created[i]; + var change = changes.created[i], + geometry = change.geometry(graph); - if (change.geometry(graph) === 'point' && _.isEmpty(change.tags)) { + if ((geometry === 'point' || geometry === 'line' || geometry === 'area') && !change.isUsed(graph)) { warnings.push({ - message: t('validations.untagged_point'), + message: t('validations.untagged_' + geometry), entity: change }); } - if (change.geometry(graph) === 'line' && _.isEmpty(change.tags) && - graph.parentRelations(change).length === 0) { - warnings.push({ message: t('validations.untagged_line'), entity: change }); - } - var deprecatedTags = change.deprecatedTags(); if (!_.isEmpty(deprecatedTags)) { warnings.push({ @@ -44,11 +40,7 @@ iD.validate = function(changes, graph) { }), entity: change }); } - if (change.geometry(graph) === 'area' && _.isEmpty(change.tags)) { - warnings.push({ message: t('validations.untagged_area'), entity: change }); - } - - if (change.geometry(graph) === 'line' && tagSuggestsArea(change)) { + if (geometry === 'line' && tagSuggestsArea(change)) { warnings.push({ message: t('validations.tag_suggests_area', {tag: tagSuggestsArea(change)}), entity: change