def validate
if @value
if @multi && @value.respond_to?(:select)
invalid = @value.select { |val| !@enum.include?(val) }
if invalid.size > 0
raise ArgumentError, _("Setting %{name} may only contain %{enums}; the disallowed values %{invalid} were present") % {name: @name, enums: @enum.inspect, invalid: invalid.inspect}
end
else
if !@enum.include?(@value)
raise ArgumentError, _("Setting %{name} should be one of %{enums}, not '%{value}'") % {name: @name, enums: @enum.inspect, value: @value}
end
end
end
end