Add geo json validation

This commit is contained in:
Paul Chavard 2021-03-11 10:22:49 +01:00
parent 4c9305dbb1
commit a7fb7bf1ef
2 changed files with 11 additions and 0 deletions

View file

@ -0,0 +1,9 @@
class GeoJSONValidator < ActiveModel::EachValidator
def validate_each(record, attribute, value)
begin
RGeo::GeoJSON.decode(value.to_json, geo_factory: RGeo::Geographic.simple_mercator_factory)
rescue RGeo::Error::InvalidGeometry
record.errors[attribute] << (options[:message] || "n'est pas un GeoJSON valide")
end
end
end