Skip to content

milkchocolate/fluent_validation

Repository files navigation

Fluent Validation in Ruby

A lightweight validation gem for Ruby

Installation

Add this line to your application's Gemfile:

gem 'fluent_validation'

And then execute:

$ bundle

Or install it yourself as:

$ gem install fluent_validation

Usage

class Member
  attr_accessor :name, :email, :type
end
require 'fluent_validation/fluent_validator'
class MemberValidator < FluentValidation::FluentValidator
  def initialize
    super

    rule_for(&->(member) { member.name })
      .not_nil
      .length(1, 20)
      .with_name('Name')

    rule_for(&->(member) { member.email })
      .not_nil
      .length(1, 100)
      .email_address
      .with_name('Email Address')

    rule_for(&->(member) { member.type })
      .not_nil
      .must(&->(type) { type == 'vip'||type == 'platinum' })
      .with_name('Member Type')
  end
end
member = Member.new
member_validator = MemberValidator.new
validation_result = member_validator.validate(member)

Thanks

This Fluent Validation is inspired by JeremySkinner's FluentValidation

About

No description, website, or topics provided.

Resources

License

Code of conduct

Stars

Watchers

Forks

Packages

No packages published