class Reform::Form::Validate::Skip::AllBlank

Public Instance Methods

call(input:, binding:, **) click to toggle source
# File lib/reform/form/validate.rb, line 7
def call(input:, binding:, **)
  # TODO: Schema should provide property names as plain list.
  # ensure param keys are strings.
  params = input.each_with_object({}) { |(k, v), hash|
    hash[k.to_s] = v
  }

  # return false if any property inputs are populated.
  binding[:nested].definitions.each do |definition|
    value = params[definition.name.to_s]
    return false if (!value.nil? && value != '')
  end

  true # skip this property
end