PHPackages                             codaxis/cakephp-multivalidation-behavior - 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. codaxis/cakephp-multivalidation-behavior

ActiveCakephp-plugin[Validation &amp; Sanitization](/categories/validation)

codaxis/cakephp-multivalidation-behavior
========================================

A CakePHP behavior that allows easy modifying of validation rules on the fly.

1.0(12y ago)518MITPHPPHP &gt;=5.3.0

Since Apr 23Pushed 10y ago2 watchersCompare

[ Source](https://github.com/Codaxis/cakephp-multivalidation-behavior)[ Packagist](https://packagist.org/packages/codaxis/cakephp-multivalidation-behavior)[ Docs](https://github.com/Codaxis/cakephp-multivalidation)[ RSS](/packages/codaxis-cakephp-multivalidation-behavior/feed)WikiDiscussions master Synced 1w ago

READMEChangelog (1)DependenciesVersions (2)Used By (0)

CakePHP MultiValidation behavior
================================

[](#cakephp-multivalidation-behavior)

A CakePHP behavior that allows easy modifying of validation rules on the fly.

Compatible with Cake 2.4.7+

Feel free to make any code/docs contributions or post any issues.

[![Build Status](https://camo.githubusercontent.com/867d71300ddab4daa9b90075c0eeafbd25856d2eb2d3c4409c44096de32b5c5a/68747470733a2f2f7472617669732d63692e6f72672f616a6672616e7a6f69612f63616b657068702d6d756c746976616c69646174696f6e2d6265686176696f722e7376673f6272616e63683d6d6173746572)](https://travis-ci.org/ajfranzoia/cakephp-multivalidation-behavior)

How to install
--------------

[](#how-to-install)

You can just copy the behavior file to your APP/Model/Behavior folder

*or*

You can also install the plugin as with every other plugin:

- Put the files in `APP/Plugin/MultiValidation`
- In your bootstrap.php add `CakePlugin::load('MultiValidation')` or just `CakePlugin::loadAll()`

How to use
----------

[](#how-to-use)

Enable the plugin in your target model:

```
class User extends AppModel {

    public $actsAs = array(
        'MultiValidation.MultiValidation' => array(
            'types' => array(
                'enforceUsernameAndEmail' => array(
                    'username' => array(
                        'onlyAlpha' => array(
                            'rule' => 'alphaNumeric'
                        ),
                    ),
                    'email' =>
                        'validEmail' => array(
                            'rule' => 'email',
                            'required' => true
                        ),
                    )
                ),
                'enforcePassword' => array(
                    'password' => array(
                        'minCharsAllowed' => array(
                            'rule' => array('minLength', 8)
                        ),
                    ),
                ),
            )
        )
    )

    public $validate = array(
        'username' => array(
            'mustNotBeBlank' => array(
                'rule' => 'notEmpty'
            )
        ),
        'password' => array(
            'minCharsAllowed' => array(
                'rule' => array('minLength', 4)
            )
        ),
    );
}
```

Then in your model or controller you can do the following actions:

```
    // Add new username and email validation:
    $User->addValidation('enforceUsernameAndEmail');
    // $User->loadedValidation() would return array('enforceUsernameAndEmail')

    // Reset to default state:
    $User->resetValidation();
    // $User->loadedValidation() would return array('_default')

    // Load and set only the password validation:
    $User->loadValidation('enforcePassword');
    // $User->loadedValidation() would return array('enforcePassword')

    // Add the other validation type also:
    $User->addValidation('enforceUsernameAndEmail');
    // $User->loadedValidation() would return array('enforcePassword', 'enforceUsernameAndEmail')

    // Reset again to default state:
    $User->resetValidation();
    // $User->loadedValidation() would return array('_default')
```

###  Health Score

27

—

LowBetter than 49% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity11

Limited adoption so far

Community10

Small or concentrated contributor base

Maturity58

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 81.8% 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

4408d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/26eabdf395e2b5842c83007fc1a4c7c374f16b9c8bb94a7cfdc1153c7f5d9e25?d=identicon)[codaxis](/maintainers/codaxis)

---

Top Contributors

[![ajfranzoia](https://avatars.githubusercontent.com/u/964115?v=4)](https://github.com/ajfranzoia "ajfranzoia (9 commits)")[![Codaxis](https://avatars.githubusercontent.com/u/6729928?v=4)](https://github.com/Codaxis "Codaxis (2 commits)")

---

Tags

validationcakephpmultivalidation

### Embed Badge

![Health badge](/badges/codaxis-cakephp-multivalidation-behavior/health.svg)

```
[![Health](https://phpackages.com/badges/codaxis-cakephp-multivalidation-behavior/health.svg)](https://phpackages.com/packages/codaxis-cakephp-multivalidation-behavior)
```

###  Alternatives

[composer/semver

Version comparison library that offers utilities, version constraint parsing and validation.

3.3k489.6M672](/packages/composer-semver)[giggsey/libphonenumber-for-php

A library for parsing, formatting, storing and validating international phone numbers, a PHP Port of Google's libphonenumber.

5.0k148.7M416](/packages/giggsey-libphonenumber-for-php)[respect/validation

The most awesome validation engine ever created for PHP

5.9k37.4M383](/packages/respect-validation)[propaganistas/laravel-phone

Adds phone number functionality to Laravel based on Google's libphonenumber API.

3.0k35.7M107](/packages/propaganistas-laravel-phone)[opis/json-schema

Json Schema Validator for PHP

64736.9M186](/packages/opis-json-schema)[giggsey/libphonenumber-for-php-lite

A lite version of giggsey/libphonenumber-for-php, which is a PHP Port of Google's libphonenumber

8912.9M47](/packages/giggsey-libphonenumber-for-php-lite)

PHPackages © 2026

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