Download the PHP package xphoenyx/valify without Composer
On this page you can find all versions of the php package xphoenyx/valify. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download xphoenyx/valify
More information about xphoenyx/valify
Files in xphoenyx/valify
Package valify
Short Description A little framework for user input validation
License MIT
Homepage https://github.com/xphoenyx/valify
Informations about the package valify
NB! This project is archived thus not maintained anymore
Valify
A little framework for user input validation. It is still in development, so keep an eye on commits. Inspired by Yii2 input validation implementation.
Requirements
You need PHP 5.4 to run this code.
Installation
After downloading source, add next code to file, where you data is going to be validated:
Framework uses namespaces, so add next line to the top of file, where validator is called:
There is also a more straightforward way to install this framework through the compser. In your project root, issue next command in terminal:
php composer.phar require xphoenyx/valify 1.*
Now you are ready to validate your data.
Hint for a MVC pattern users
You can implement your own methods in base model class. Please investigate an example below:
Usage
Usage is similar to Yii2 input validation.
Define rules
Each validator accepts message
parameter, which should contain an error message as string.
You can access attribute name and its value in message
by using so-called 'patterns':
NB! If the value is not representable as a string, value type will be shown instead of value itself
You can also implement your own validators by extending valify\validator\AbstractValidator
class.
In this case, if you are not using composer autoloader, you should also import (require) AbstractValidator.
To use own validator in rules, just define validator namespace as a validator name:
Make sure your validator is loaded before defining a namespace in rules.
Refer to the valify\validators\ExampleValidator
for detailed implementation info.
Define data to be validated
Input data is expected in next format:
Set rules and data
You can call setrules()
and loadData()
multiple times:
Execute validation
You have an ability to perform a single value validation, without calling setRules()
and loadData()
:
For multiple value validation, pass an array of desired values as a second argument:
validateFor()
will return an object with two properties:
isValid
- contains boolean value;lastError
- contains last validation error message;errors
- contains whole error message stack for validating attribute;
Fetch error messages
You can also get an error message of a single attribute:
As each attribute can have a few error messages, getError()
will give you
the last message of the corresponding attribute error stack (array).
List of built-in validators:
- boolean
- file
- required
- string
- url
- phone
- in
- number
- compare
- unique
For detailed parameter description of each validator, see class methods in valify/validators.
Testing
In order to properly run unit tests, you need to specify path to the composer autoloader file.
Then you just issue the phpunit
command in terminal under valify
(component root) directory.
Examples
Check index.php in examples
directory to view framework in action.
All bug and issue reports are welcome as well as improvement proposals. Enjoy.