2017 © Pedro PelĂĄez
 

library validator

A validator class to validate inputs

image

anekdotes/validator

A validator class to validate inputs

  • Thursday, November 10, 2016
  • by anekdotes
  • Repository
  • 1 Watchers
  • 0 Stars
  • 279 Installations
  • PHP
  • 0 Dependents
  • 0 Suggesters
  • 1 Forks
  • 0 Open issues
  • 8 Versions
  • 1 % Grown

The README.md

Anekdotes Validator

Latest Stable Version Build Status codecov.io StyleCI License Total Downloads, (*1)


A validator class to validate input data against validation types., (*2)

Installation

Install via composer in your project :, (*3)

composer require anekdotes/validator

Basic usage

Prepare an input array to validate and a rules array to validate against, (*4)

  $input = [
    "formName" => $_POST["formName"],
    "formEmail" => $_POST["formEmail"],
    "otherData" => "Bob"
  ];

  $rules = [
    "formName" => ["required"],
    "formEmail" => ["required", "email"]
  ]

Then, instantiate the validator with the rules and use its status to follow-up with code., (*5)

// initiate the Validator with inputs and rules
use Anekdotes\Validator;
function doSomething(){
    $validator = Validator::make($inputs, $rules);

    // test if validator pass all the tests
    if($validator->fail()) {
        //Log something maybe?
        //Display a message maybe?
        return false;
      }

    //Proceed with the data
    //Store it in the db?

}

Rule Types

required

Check if the input is empty, (*6)

  $rules = ["inputField" => "required"];

  //The following inputs would validate as a failure
  $inputA = ["inputField" => "" ];
  $inputB = ["otherInput" => "Whatever" ];

  //The following inputs would validate as a success
  $inputC = ["inputField" => "Something" ];
  $inputD = ["inputField" => "Stuff" , "otherInput" => "anythingElse"];

requiredIf

Check if the input is empty, but only if an other input's value equals a specific value, (*7)

  $rules = ["inputField" => "requiredIf:otherInput,otherInputsValue"];

  //The following inputs would validate as a failure
  $inputA = ["inputField" => "" , "otherInput" => "otherInputsValue"];

  //The following inputs would validate as a success
  $inputB = ["inputField" => "" , "otherInput" => "anythingElse"];
  $inputC = ["inputField" => ""];
  $inputD = ["inputField" => "Data" , "otherInput" => "otherInputsValue"];
  $inputE = ["inputField" => "Data" , "otherInput" => ""];

requiredWith

Check if the input is empty if an other input is not empty, (*8)

  $rules = ["inputField" => "requiredWith:otherInput"];

  //The following inputs would validate as a failure
  $inputA = ["inputField" => "" , "otherInput" => "otherInputsValue"];
  $inputB = ["inputField" => "" , "otherInput" => "anythingElse"];

  //The following inputs would validate as a success
  $inputC = ["inputField" => ""];
  $inputD = ["inputField" => "Data" , "otherInput" => "otherInputsValue"];
  $inputE = ["inputField" => "Data" , "otherInput" => ""];

requiredWithout

Check if the input is empty if an other input is empty, (*9)

  $rules = ["inputField" => "requiredWithout:otherInput"];

  //The following inputs would validate as a failure
  $inputC = ["inputField" => ""];

  //The following inputs would validate as a success
  $inputA = ["inputField" => "" , "otherInput" => "otherInputsValue"];
  $inputB = ["inputField" => "" , "otherInput" => "anythingElse"];
  $inputD = ["inputField" => "Data" , "otherInput" => "otherInputsValue"];
  $inputE = ["inputField" => "Data" , "otherInput" => ""];

integer

Check if the input is an integer, (*10)

  $rules = ["inputField" => "integer"];

  //The following inputs would validate as a failure
  $inputA = ["inputField" => "a"];
  $inputB = ["inputField" => "12"];
  $inputC = ["inputField" => 12.3];

  //The following inputs would validate as a success
  $inputD = ["inputField" => 1];

numeric

Check if the input is numeric, (*11)

  $rules = ["inputField" => "numeric"];

  //The following inputs would validate as a failure
  $inputA = ["inputField" => "a"];

  //The following inputs would validate as a success
  $inputB = ["inputField" => "12"];
  $inputC = ["inputField" => 12.3];
  $inputD = ["inputField" => 1];

date

Check if the input is a date, (*12)

  $rules = ["inputField" => "date"];

  //The following inputs would validate as a failure
  $inputA = ["inputField" => "a"];

  //The following inputs would validate as a success
  $inputB = ["inputField" => "1-1-2000"];

different

Check if the input is different from follow-up values, (*13)

  $rules = ["inputField" => "different:Git,Hub"];

  //The following inputs would validate as a failure
  $inputA = ["inputField" => "Git"];
  $inputB = ["inputField" => "Hub"];

  //The following inputs would validate as a success
  $inputC = ["inputField" => "git"];
  $inputD = ["inputField" => "toast"];
  $inputE = ["inputField" => "GitHub"];

email

Check if the input matches an email address, (*14)

  $rules = ["inputField" => "email"];

  //The following inputs would validate as a failure
  $inputA = ["inputField" => "test"];
  $inputB = ["inputField" => "test@test"];

  //The following inputs would validate as a success
  $inputC = ["inputField" => "gmail@me.com"];
  $inputD = ["inputField" => "test@test.test"];

postalCode

Check if the input matches a canadian postal code, (*15)

  $rules = ["inputField" => "postalCode"];

  //The following inputs would validate as a failure
  $inputA = ["inputField" => "test"];
  $inputB = ["inputField" => "123456"];

  //The following inputs would validate as a success
  $inputC = ["inputField" => "J4R 2L6"];
  $inputD = ["inputField" => "A1A1A1"];

phoneNumber

Check if the input matches an american phone number, (*16)

  $rules = ["inputField" => "phoneNumber"];

  //The following inputs would validate as a failure
  $inputA = ["inputField" => "test"];
  $inputB = ["inputField" => "123456"];

  //The following inputs would validate as a success
  $inputC = ["inputField" => "4507482822"];
  $inputD = ["inputField" => "1-800-123-4567"];
  $inputE = ["inputField" => "1 (800) 123-4567"];

between

Check if the input is between a minimum and a maximum, (*17)

Available types of input: * String : Tests the string's character count * Number : Tests the number's value * Files : Tests the file's size in KiloBytes, (*18)

  $rules = ["inputField" => "between:3,5"];

  //The following inputs would validate as a failure
  $inputA = ["inputField" => "tested"];
  $inputB = ["inputField" => 6];

  //The following inputs would validate as a success
  $inputC = ["inputField" => 4];
  $inputD = ["inputField" => "test"];
  $inputE = ["inputField" => "5"];

minimum

Check if the input is above a minimum, (*19)

Available types of input: * String : Tests the string's character count * Number : Tests the number's value * Files : Tests the file's size in KiloBytes, (*20)

  $rules = ["inputField" => "minimum:3"];

  //The following inputs would validate as a failure
  $inputA = ["inputField" => "ta"];
  $inputB = ["inputField" => 2];

  //The following inputs would validate as a success
  $inputC = ["inputField" => 4];
  $inputD = ["inputField" => "est"];
  $inputE = ["inputField" => "5"];

maximum

Check if the input is under a maximum, (*21)

Available types of input: * String : Tests the string's character count * Number : Tests the number's value * Files : Tests the file's size in KiloBytes, (*22)

  $rules = ["inputField" => "maximum:3"];

  //The following inputs would validate as a failure
  $inputC = ["inputField" => 4];
  $inputD = ["inputField" => "test"];
  $inputE = ["inputField" => "5"];

  //The following inputs would validate as a success
  $inputA = ["inputField" => "ta"];
  $inputB = ["inputField" => 2];

size

Check if the input has the exact size, (*23)

Available types of input: * String : Tests the string's character count * Number : Tests the number's value * Files : Tests the file's size in KiloBytes, (*24)

  $rules = ["inputField" => "size:3"];

  //The following inputs would validate as a failure
  $inputA = ["inputField" => "ta"];
  $inputB = ["inputField" => 232];

  //The following inputs would validate as a success
  $inputC = ["inputField" => 3];
  $inputD = ["inputField" => "abs"];
  $inputE = ["inputField" => "3"];

length

Check if the input has the exact string length provided (works the samne way as size, but only for strings), (*25)

  $rules = ["inputField" => "length:3"];

  //The following inputs would validate as a failure
  $inputA = ["inputField" => "ta"];
  $inputB = ["inputField" => "3"];

  //The following inputs would validate as a success
  $inputC = ["inputField" => "125"];
  $inputD = ["inputField" => "abs"];

url

Check if the input matches a URL, (*26)

  $rules = ["inputField" => "url"];

  //The following inputs would validate as a failure
  $inputA = ["inputField" => "ta"];

  //The following inputs would validate as a success
  $inputB = ["inputField" => "http://www.anekdotes.com"];
  $inputC = ["inputField" => "www.google.ca"];

validUrl

Check if the input matches an existing URL, based on PHP's DNS Check, (*27)

  $rules = ["inputField" => "validUrl"];

  //The following inputs would validate as a failure
  $inputA = ["inputField" => "ta"];

  //The following inputs would validate as a success
  $inputB = ["inputField" => "http://www.anekdotes.com"];
  $inputC = ["inputField" => "www.google.ca"];

same

Check if the input had the same value as another input (useful for password checks), (*28)

  $rules = ["inputField" => "same:otherInput"];

  //The following inputs would validate as a failure
  $inputA = ["inputField" => "" , "otherInput" => "otherInputsValue"];
  $inputB = ["inputField" => "maybe" , "otherInput" => "anythingElse"];

  //The following inputs would validate as a success
  $inputC = ["inputField" => "qwerty123456", "otherInput" => "qwerty123456"];
  $inputE = ["inputField" => "Data" , "otherInput" => "Data"];

alpha

Check if the input contains only alphabetic characters, (*29)

  $rules = ["inputField" => "alpha"];

  //The following inputs would validate as a failure
  $inputA = ["inputField" => "a12b"];
  $inputB = ["inputField" => "hi there"];
  $inputC = ["inputField" => "marks-the-spot"];

  //The following inputs would validate as a success
  $inputD = ["inputField" => "anekdotes"];

alpha_num

Check if the input contains only alphabetic and numeric characters, (*30)

  $rules = ["inputField" => "alpha_num"];

  //The following inputs would validate as a failure
  $inputB = ["inputField" => "hi there"];
  $inputC = ["inputField" => "marks-the-spot"];

  //The following inputs would validate as a success
  $inputA = ["inputField" => "a12b"];
  $inputD = ["inputField" => "anekdotes"];

alpha_dash

Check if the input contains only alphabetic,numeric and dashes characters, (*31)

  $rules = ["inputField" => "alpha_num"];

  //The following inputs would validate as a failure
  $inputB = ["inputField" => "hi there"];

  //The following inputs would validate as a success
  $inputA = ["inputField" => "a12b"];
  $inputC = ["inputField" => "marks-the-spot"];
  $inputD = ["inputField" => "anekdotes"];

before

Check if the input is a date older than the provided :date, (*32)

  $rules = ["inputField" => "before:2016-12-31"];

  //The following inputs would validate as a failure
  $inputA = ["inputField" => "hi there"];
  $inputB = ["inputField" => "2017-01-01"];

  //The following inputs would validate as a success
  $inputC = ["inputField" => "2015-02-28"];

after

Check if the input if a date younger than the provided :date, (*33)

  $rules = ["inputField" => "after:2016-12-31"];

  //The following inputs would validate as a failure
  $inputA = ["inputField" => "hi there"];
  $inputC = ["inputField" => "2015-02-28"];

  //The following inputs would validate as a success
  $inputB = ["inputField" => "2017-01-01"];

digits

Check if the input is an integer that contains exactly x digits, (*34)

  $rules = ["inputField" => "digits:4"];

  //The following inputs would validate as a failure
  $inputA = ["inputField" => "1234567890"];
  $inputB = ["inputField" => "1a28"];

  //The following inputs would validate as a success
  $inputC = ["inputField" => "2017"];

digits_between

Check if the input, (*35)

Check if the input is an integer that contains between x and y digits, (*36)

  $rules = ["inputField" => "digits_between:4,6"];

  //The following inputs would validate as a failure
  $inputA = ["inputField" => "1234567890"];
  $inputB = ["inputField" => "1a28"];

  //The following inputs would validate as a success
  $inputC = ["inputField" => "2017"];
  $inputD = ["inputField" => "201712"];

confirmed

Checks that if a confirmation field has the same value that the other one (Perfect for password or email checks), (*37)

  $rules = ["inputField" => "confirmed"];

  //The following inputs would validate as a failure
  $inputA = ["inputField" => "qwerty123" , "inputField_confirmation" => "123456"];
  $inputB = ["inputField" => "" , "inputField_confirmation" => "123456"];
  $inputC = ["inputField" => "123456"];

  //The following inputs would validate as a success
  $inputD = ["inputField" => "123456" , "inputField_confirmation" => "123456"];
  $inputE = ["inputField" => "test@test.test" , "inputField_confirmation" => "test@test.test"];

The Versions

10/11 2016

dev-master

9999999-dev

A validator class to validate inputs

  Sources   Download

MIT

The Requires

  • php >=5.3.0

 

The Development Requires

test form validation

10/11 2016

v1.1.0

1.1.0.0

A validator class to validate inputs

  Sources   Download

MIT

The Requires

  • php >=5.3.0

 

The Development Requires

test form validation

27/10 2016

dev-analysis-qgK9YQ

dev-analysis-qgK9YQ

A validator class to validate inputs

  Sources   Download

MIT

The Requires

  • php >=5.3.0

 

The Development Requires

test form validation

18/05 2016

v1.0.4

1.0.4.0

A validator class to validate inputs

  Sources   Download

MIT

The Requires

  • php >=5.3.0

 

The Development Requires

test form validation

29/03 2016

v1.0.3

1.0.3.0

A validator class to validate inputs

  Sources   Download

MIT

The Requires

 

test form validation

21/03 2016

v1.0.2

1.0.2.0

A validator class to validate inputs

  Sources   Download

MIT

The Requires

 

test form validation

17/03 2016

v1.0.1

1.0.1.0

A validator class to validate inputs

  Sources   Download

MIT

The Requires

 

test form validation

17/03 2016

v1.0.0

1.0.0.0

A validator class to validate inputs

  Sources   Download

MIT

The Requires

 

test form validation