def infer_type_validation_for(property, options)
options[:gte] = property.min if property.min
options[:lte] = property.max if property.max
if Integer == property.type
options[:integer_only] = true
validates_is_number property.name, options_with_message(options, property, :is_number)
elsif BigDecimal == property.type || Float == property.type
options[:precision] = property.precision
options[:scale] = property.scale
validates_is_number property.name, options_with_message(options, property, :is_number)
elsif !property.custom?
validates_is_primitive property.name, options_with_message(options, property, :is_primitive)
end
end