我有一个带有Camping
和#latitude
属性的Ruby on Rails模型#longitude
。
这应该得到验证。必须进行验证,以便:
我不知道这一点是否是一个实际有效的地址(海洋,北极,无论如何,只要它是地球上的有效点)。
我正在使用geocoder gem,但就目前而言,输入只是一对lat / lon文本字段。地理编码器只是对这个问题感兴趣,因为它可能有实用方法(我找不到)来验证纬度/长对。
答案 0 :(得分:21)
我不知道Geocoder中有任何检查方法,但您可以使用rails验证
validates :latitude , numericality: { greater_than_or_equal_to: -90, less_than_or_equal_to: 90 }
validates :longitude, numericality: { greater_than_or_equal_to: -180, less_than_or_equal_to: 180 }
答案 1 :(得分:0)
在Rails 4及更高版本中,正确的答案是:
validates :lat, numericality: { greater_than_or_equal_to: -90, \
less_than_or_equal_to: 90 }
validates :lng, numericality: { greater_than_or_equal_to: -180, \
less_than_or_equal_to: 180 }