2017 © Pedro Peláez
 

library bumbon-validation

PHP Data Validation

image

eghojansu/bumbon-validation

PHP Data Validation

  • Friday, November 24, 2017
  • by eghojansu
  • Repository
  • 1 Watchers
  • 0 Stars
  • 29 Installations
  • PHP
  • 1 Dependents
  • 0 Suggesters
  • 0 Forks
  • 0 Open issues
  • 2 Versions
  • 16 % Grown

The README.md

Bumbon/Validation

PHP Validation., (*1)

Installation

composer require bumbon/validation

Usage

<?php

$validation = Validation::create(
    [
        'foo' => NotBlank(),
        'baz' => [
            new NotBlank(),
            new Length([
                'min' => 5,
            ])
        ],
    ],
    [
        'foo' => 'bar',
        'baz' => 'qux'
    ]
);
$violation = $validation->validate();

// or
// $validation->validate(['foo' => 'bar','baz' => 'qux']);

if ($violation->hasViolation()) {
    echo 'Invalid data';
} else {
    echo 'Data valid';
}

// or
if ($violation->noViolation()) {
    echo 'Data valid';
} else {
    echo 'Invalid data';
}

// get violation message
var_dump($violation->all());

// [
//   'foo' => ['Nilai ini tidak boleh kosong']
// ]

Available Constraints

All option can be passed in each constraint via associative array. All constraint has parent option. Default message is Bahasa Indonesia., (*2)

<?php

// default parent option
$option = [
    // message
    'message' => 'Custom message',
    // group validate
    'groups' => ['Default'],
    // trim value
    'trim' => true,
    // callback for normalize data (before validate)
    'normalizer' => null,
];
  • Between, (*3)

    <?php
    $option = [
    'min' => 5,
    'max' => 5,
    ];
    
  • Blank
  • Boolean
  • Callback, (*4)

    <?php
    $option = [
    // callback (return bool)
    'callback' => null,
    ];
    
  • Choice, (*5)

    <?php
    $option = [
    // array of valid choices
    'choices' => [],
    ];
    
  • Email
  • Equal, (*6)

    <?php
    $option = [
    // equal to this value
    'value' => null,
    ];
    
  • GreaterThanEqual, (*7)

    <?php
    $option = [
    // greater than or equal to this value
    'value' => null,
    ];
    
  • GreaterThan, (*8)

    <?php
    $option = [
    // greater than to this value
    'value' => null,
    ];
    
  • Identical, (*9)

    <?php
    $option = [
    // identical to this value
    'value' => null,
    ];
    
  • InTable, (*10)

    <?php
    $option = [
    // pdo connection
    'pdo' => null,
    // table to lookup
    'table' => null,
    // field to find
    'field' => 'ID',
    ];
    
  • Ip
  • IsFalse
  • IsTrue
  • Length, (*11)

    <?php
    $option = [
    'min' => 5,
    'max' => 5,
    ];
    
  • LessThanEqual, (*12)

    <?php
    $option = [
    // lest than or equal to this value
    'value' => null,
    ];
    
  • LessThan, (*13)

    <?php
    $option = [
    // less than to this value
    'value' => null,
    ];
    
  • NotBlank
  • NotEqual, (*14)

    <?php
    $option = [
    // not equal to this value
    'value' => null,
    ];
    
  • NotIdentical, (*15)

    <?php
    $option = [
    // not identical to this value
    'value' => null,
    ];
    
  • NotInTable, (*16)

    <?php
    $option = [
    // pdo connection
    'pdo' => null,
    // table to lookup
    'table' => null,
    // field to find
    'field' => 'ID',
    // primary key, can be array
    'id' => 'ID',
    // current primary key value, can be array
    'current_id' => null,
    ];
    
  • Numeric
  • PhoneNumber
  • Regex, (*17)

    <?php
    $option = [
    // match to this pattern
    'pattern' => null,
    ];
    
  • Url

Custom Constraints

Implements Constraint Interface., (*18)

<?php

namespace Bumbon\Validation\Constraint;

interface ConstraintInterface
{
    /**
     * Get violation message
     * @return array|string
     */
    public function getMessages();

    /**
     * Get groups
     * @return array
     */
    public function getGroups();

    /**
     * Set value to check
     * @param mixed $value
     * @return  $this
     */
    public function setValue($value);

    /**
     * Get value
     * @return  mixed
     */
    public function getValue();

    /**
     * Validate value
     * @return $this
     */
    public function validate();

    /**
     * Get constraint validity
     * @return boolean
     */
    public function isValid();
}

Or extends AbstractConstraint, (*19)

<?php

use Bumbon\Validation\Constraint;

class CustomConstraint extends AbstractContraint
{
    public function validate()
    {
        $this->valid = $this->value == 'true';

        return $this;
    }
}

Inspiration

This library was inspired by Symfony/Validation. I created this for my own project., (*20)

The Versions

24/11 2017

dev-master

9999999-dev https://github.com/eghojansu/nutrition

PHP Data Validation

  Sources   Download

MIT

The Requires

  • php >=5.6

 

The Development Requires

php validation

24/11 2017

v1.0.0

1.0.0.0 https://github.com/eghojansu/nutrition

PHP Data Validation

  Sources   Download

MIT

The Requires

  • php >=5.6

 

The Development Requires

php validation