PHPackages                             uuki/schemable-validator - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Validation &amp; Sanitization](/categories/validation)
4. /
5. uuki/schemable-validator

ActivePackage[Validation &amp; Sanitization](/categories/validation)

uuki/schemable-validator
========================

Schema based validation plugin.

0.x-dev(1y ago)012MITPHPPHP &gt;=7.4

Since Oct 19Pushed 1y ago1 watchersCompare

[ Source](https://github.com/uuki/schemable-validator)[ Packagist](https://packagist.org/packages/uuki/schemable-validator)[ RSS](/packages/uuki-schemable-validator/feed)WikiDiscussions main Synced 1mo ago

READMEChangelogDependencies (1)Versions (3)Used By (0)

Schemable Validator
===================

[](#schemable-validator)

The Schemable Validator was developed to streamline the validation processing involved in form submissions.

✨ Features
----------

[](#-features)

- 🍨 **Vanilla PHP Based**: Designed to be independent of specific systems such as CMS platforms.
- ✅ **Validation**: Built on flexible and powerful validation processing using Respect/Validation, with sanitization features.
- 📂 **Data Store**: Equipped with a controller that allows for easy storage of validated data for reuse across different pages and processes.
- ⚙️ **Customizability**: Supports replaceable reply templates through aliases.

📦 Install
---------

[](#-install)

```
composer require uuki/schemable-validator:0.x@dev
```

🐣 Usage
-------

[](#-usage)

### Step 1.

[](#step-1)

Include plugin.

```
require_once __DIR__ . '/path/to/vendor/uuki/schemable-validator/src/index.php';
```

### Step 2.

[](#step-2)

Create schema.

```
use Respect\Validation\Validator as v;

$schema = [
  'type' => v::notEmpty()
              ->setTemplate('Please select an item')
              ->in(['option1', 'option2', 'option3']),
  'name' => v::stringType()->length(1, 50),
  'email' => v::email(),
  'phone' => v::phone()->length(10, 15),
  'url' => v::url(),
  'address' => v::stringType()->length(1, 255),
  'body' => v::stringType()->length(1, 1000),
  'usage' => v::notEmpty()->in(['for_business', 'for_personal']),
  'docs' => v::key('error', v::equals(UPLOAD_ERR_OK))
    ->key('name', v::oneOf(
      v::extension('jpg'),
      v::extension('png'),
    )),
  'agreement' => v::trueVal()
];
```

### Step 3.

[](#step-3)

Create validator instance.

```
use SchemableValidator\Validator;

$validator = new Validator($schema);
```

### Step 4.

[](#step-4)

Validation at any time.

```
$result = $validator->validate($_POST);
```

### More documentations

[](#more-documentations)

[docs](docs)

Require
-------

[](#require)

nameversionsPHP^7.4 || ^8.0 || ^8.1 || ^8.2Dependencies
------------

[](#dependencies)

Futures
-------

[](#futures)

- Some options
    - reCAPTCHA
    - i18n

⛏️Plugin Development
--------------------

[](#️plugin-development)

Require
-------

[](#require-1)

- [wp-now](https://github.com/WordPress/playground-tools/tree/trunk/packages/wp-now)

Setup
-----

[](#setup)

```
pnpm install
pnpm dev # start wp-content mode
```

Docs
----

[](#docs)

###  Health Score

20

—

LowBetter than 14% of packages

Maintenance37

Infrequent updates — may be unmaintained

Popularity5

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity26

Early-stage or recently created project

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Unknown

Total

1

Last Release

575d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/b713340b27705d6d7892cd309cdaca632b44e57f36d271bb0485c433f4f671a6?d=identicon)[uuki](/maintainers/uuki)

---

Top Contributors

[![uuki](https://avatars.githubusercontent.com/u/3760515?v=4)](https://github.com/uuki "uuki (16 commits)")

### Embed Badge

![Health badge](/badges/uuki-schemable-validator/health.svg)

```
[![Health](https://phpackages.com/badges/uuki-schemable-validator/health.svg)](https://phpackages.com/packages/uuki-schemable-validator)
```

###  Alternatives

[awurth/slim-validation

A wrapper around the respect/validation PHP validation library for easier error handling and display

65378.4k9](/packages/awurth-slim-validation)[progsmile/request-validator

Simple PHP Request Validator

33113.3k1](/packages/progsmile-request-validator)[resultsystems/validation

Inspired 'KennedyTedesco Validation' - The power of 'Respect Validation' on Laravel.

2832.4k4](/packages/resultsystems-validation)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
