Download the PHP package sujal/validation without Composer

On this page you can find all versions of the php package sujal/validation. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package validation

Validation

A PHP validation library built around reusable Rule classes.

You describe valid data with an immutable Schema of Field objects. Each check is a Rule class. A ValidationEngine runs the schema.

Built around SOLID boundaries — not a pile of if statements.


Install

Inside this repository:


Quick start

Flow in plain English:

  1. Build a Schema from Field definitions
  2. Hand input + schema to Validator::check(...)
  3. Read passed() / errors() / validated()

Why this shape (SOLID)

Principle How this library uses it
Single responsibility Schema describes, ValidationEngine runs, MessageFormatter writes messages, DataReader reads paths
Open/closed New rules are new classes — the engine does not change
Liskov Any Rule is interchangeable; markers like AllowsNull extend behaviour safely
Interface segregation Small contracts: Rule, DataReader, MessageCatalog, FormatsMessages
Dependency inversion The engine depends on interfaces, not concrete helpers

Fields and schemas are immutable. Calling ->bail() returns a new field — no hidden “current field” state.


A fuller example


Reuse schemas

Schemas are plain values. Merge the pieces you need:


Nested data and wildcards

Dotted paths read nested arrays:

Wildcards validate each item in a list:


Nullable and Sometimes


Labels and custom messages

Placeholders:


Reading errors

Throw instead of checking:


Optional fields

Without Required, blank values skip most rules:


Conditional required

Nested other-fields work too: new RequiredIf('account.type', 'business').


One-off custom checks


Write your own rule

Use marker interfaces when the engine must treat the rule specially:


Swap dependencies


Built-in rules

Rule What it checks
Required Present and not blank
RequiredIf Required when another field matches
Nullable Allow null; skip other rules when null
Sometimes Only validate if the key exists
Email Email shape
Integer / Numeric Numbers
Str / Arr / Boolean Types
Min / Max / Between / Length Size
In / Regex / Url Format / allow-list
Same / Confirmed Field matches
Callback Your closure

Import from Sujal\Validation\Rules.


Run the tests


License

Open source under the MIT License.


All versions of validation with dependencies

PHP Build Version
Package Version
Requires php Version ^8.2
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package sujal/validation contains the following files

Loading the files please wait ...