module Fend::Plugins::ValidationHelpers
`validation_helpers` plugin provides additional `Param` methods for common validation cases.
plugin :validation_helpers validate do |i| i.params(:username) do |username| username.validate_presence username.validate_max_length(20) username.validate_type(String) end end
You can find list of all available helpers in ParamMethods
.
## Overriding default messages
You can override default messages by specifying `:default_messages` options when loading the plugin
plugin :validation_helpers, default_messages: { exact_length: ->(length) { I18n.t("errors.exact_length", length: length) }, presence: "cannot be blank", type: ->(type) { "is not of valid type. Must be #{type.to_s.downcase}" } }
Custom messages can be defined by passing `:message` option to validation helper method:
username.validate_max_length(20, message: "must be shorter than 20 chars")
Constants
- ACCEPTABLE
- DEFAULT_MESSAGES
- UNSUPPORTED_TYPE
Public Class Methods
configure(validation, opts = {})
click to toggle source
# File lib/fend/plugins/validation_helpers.rb, line 43 def self.configure(validation, opts = {}) validation.opts[:validation_default_messages] = (validation.opts[:validation_default_messages] || {}).merge(opts[:default_messages] || {}) end
load_dependencies(validation, *args, &block)
click to toggle source
depends on ValueHelpers
plugin, which provides methods that are used in certain validation helpers
# File lib/fend/plugins/validation_helpers.rb, line 39 def self.load_dependencies(validation, *args, &block) validation.plugin(:value_helpers) end