Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/yashgupta-dev/validation
use to validate your form fields with dynamicaly with proper message.
https://github.com/yashgupta-dev/validation
composer composer-library cscart dynamic form-validation opencart php php-library shopware validation validation-library validation-procedure
Last synced: 24 days ago
JSON representation
use to validate your form fields with dynamicaly with proper message.
- Host: GitHub
- URL: https://github.com/yashgupta-dev/validation
- Owner: yashgupta-dev
- Created: 2024-07-20T06:39:55.000Z (4 months ago)
- Default Branch: master
- Last Pushed: 2024-07-21T12:49:55.000Z (4 months ago)
- Last Synced: 2024-09-30T22:40:45.351Z (about 1 month ago)
- Topics: composer, composer-library, cscart, dynamic, form-validation, opencart, php, php-library, shopware, validation, validation-library, validation-procedure
- Language: PHP
- Homepage: https://packagist.org/packages/code-corner/validation
- Size: 23.4 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: changelog.md
Awesome Lists containing this project
README
# Validation Library
## Introduction
This is a comprehensive validation library for PHP, providing various methods to validate different types of data against specified rules.
## Installation
Ensure you have Composer installed. You can install the library using Composer by running:
```
composer require codecorners/validation
```## Usage
1. **Require Composer's Autoload File**
Make sure to include Composer's autoload file at the beginning of your script:
```php
require_once 'vendor/autoload.php';
```2. **Use the Validation Class**
Use the `Validation` class from the `CodeCorner\Validation` namespace in your script:
```php
use CodeCorner\Validation\Validation;
```3. **Perform Validation**
Define your validation rules and validate your data using the `validate` method of the `Validation` class:
```php
Validation::validate([
'name' => 'required|min:3',
'email' => 'required|email',
'age' => 'numeric|min:18',
'url' => 'URL',
'phone' => 'phone',
'amount' => 'decimal',
'role' => 'in_array:admin,moderator,user',
'username' => 'unique:users',
'password' => 'nullable|string|min:6',
], [
'name' => 'John Doe',
'email' => '[email protected]',
'age' => 25,
'url' => 'https://example.com',
'phone' => '+1234567890',
'amount' => 123.45,
'role' => 'admin',
'username' => 'johndoe',
'password' => null,
]);
```In this example:
- `name` is required and must be at least 3 characters long.
- `email` must be a valid email address.
- `age` must be numeric and at least 18.
- `url` must be a valid URL.
- `phone` must be a valid phone number.
- `amount` must be a decimal number.
- `role` must be one of: admin, moderator, or user.
- `username` must be unique (e.g., not already taken in a database).
- `password` is nullable (optional) and if provided, must be a string of at least 6 characters.4. **Available Validation Methods**
Here are the available validation methods and their usage:
- `required`: The field must be present and not empty.
- `string`: The field must be a string.
- `numeric`: The field must be numeric.
- `in_array:val1,val2,...`: The field must be one of the specified values.
- `array_required`: The field must be an array and not empty.
- `file`: The field must be a file upload. // 'size.5000000&type.png,jpeg&name.jpeg,png'
- `min:value`: The field must be at least `value` characters long (for strings) or numeric value.
- `max:value`: The field must be at most `value` characters long (for strings) or numeric value.
- `nullable`: Allows the field to be null or empty.
- `unique:table,column`: Checks if the field value is unique in a specified database table and column.
- `email`: The field must be a valid email address.
- `URL`: The field must be a valid URL.
- `regex:pattern`: The field must match the specified regular expression pattern.
- `not_in:val1,val2,...`: The field must not be one of the specified values.
- `in:val1,val2,...`: Alias for `in_array`.
- `phone`: The field must be a valid phone number.
- `decimal`: The field must be a valid decimal number.5. **Retrieve Validation Errors**
After performing validation, you can retrieve any validation errors using the `getErrors` method:
```php
$errors = Validation::getErrors();
print_r($errors);
```This will output an array of validation errors encountered during the validation process.
6. **Using Database level validation**
- add your DB object in the config.php file.
```php
Validation::dbConfigure(self::$pdo);
```then you will use database level validation
```php
'required|min:3',
'email' => 'required|unique:`tablename`.`fieldname`',
'phone' => 'phone|not_in:`tablename`.`fieldname`,`fieldname`-`value`',
'role' => 'in:`tablename`.`fieldname',
'username' => 'assign:`tablename`.`fieldname`',
], [
'name' => 'John Doe',
'email' => '[email protected]',
'phone' => '+1234567890',
'role' => 'admin',
'username' => 'johndoe',
]);$errors = Validation::getErrors();
print_r($errors);
```## Example
Here's a complete example of how you might use this library:
```php
'required|min:3',
'email' => 'required|email',
'age' => 'numeric|min:18',
'url' => 'URL',
'phone' => 'phone',
'amount' => 'decimal',
'role' => 'in_array:admin,moderator,user',
'username' => 'unique:users',
'password' => 'nullable|string|min:6',
], [
'name' => 'John Doe',
'email' => '[email protected]',
'age' => 25,
'url' => 'https://example.com',
'phone' => '+1234567890',
'amount' => 123.45,
'role' => 'admin',
'username' => 'johndoe',
'password' => null,
]);$errors = Validation::getErrors();
print_r($errors);
```In this example:
- We include Composer's autoload file.
- Define various validation rules for different fields.
- Validate the provided data against these rules.
- Print any validation errors encountered.