Sha256: 29caf0115a1397713ae9e68283cd1b8370d28a5795f76e2111cdda4e860d3395

Contents?: true

Size: 594 Bytes

Versions: 41

Compression:

Stored size: 594 Bytes

Contents

# frozen_string_literal: true

require 'action_dispatch'

class MiniDefender::Rules::Required < MiniDefender::Rule
  def self.signature
    'required'
  end

  def implicit?(validator)
    true
  end

  def passes?(attribute, value, validator)
    case value
    when nil
      false
    when String
      value.strip.length > 0
    when Enumerable
      value.length > 0
    when ActionDispatch::Http::UploadedFile
      value.path && value.path.length > 0 && value.size > 0
    else
      true
    end
  end

  def message(attribute, value, validator)
    "This field is required."
  end
end

Version data entries

41 entries across 41 versions & 1 rubygems

Version Path
mini_defender-0.6.8 lib/mini_defender/rules/required.rb
mini_defender-0.6.7 lib/mini_defender/rules/required.rb
mini_defender-0.6.5 lib/mini_defender/rules/required.rb
mini_defender-0.6.4 lib/mini_defender/rules/required.rb
mini_defender-0.6.3 lib/mini_defender/rules/required.rb
mini_defender-0.6.2 lib/mini_defender/rules/required.rb
mini_defender-0.6.1 lib/mini_defender/rules/required.rb
mini_defender-0.6.0 lib/mini_defender/rules/required.rb
mini_defender-0.5.8 lib/mini_defender/rules/required.rb
mini_defender-0.5.7 lib/mini_defender/rules/required.rb
mini_defender-0.5.6 lib/mini_defender/rules/required.rb
mini_defender-0.5.5 lib/mini_defender/rules/required.rb
mini_defender-0.5.4 lib/mini_defender/rules/required.rb
mini_defender-0.5.3 lib/mini_defender/rules/required.rb
mini_defender-0.5.2 lib/mini_defender/rules/required.rb
mini_defender-0.5.1 lib/mini_defender/rules/required.rb
mini_defender-0.5.0 lib/mini_defender/rules/required.rb
mini_defender-0.4.1 lib/mini_defender/rules/required.rb
mini_defender-0.4.0 lib/mini_defender/rules/required.rb
mini_defender-0.3.14 lib/mini_defender/rules/required.rb