petrabarus / yii2-switchcasevalidator
Validator that will run on switch-case-like conditional
Installs: 14 280
Dependents: 0
Suggesters: 0
Security: 0
Stars: 2
Watchers: 2
Forks: 0
Open Issues: 0
Requires
- php: >=5.5.0
- yiisoft/yii2: *
Requires (Dev)
- phpunit/phpunit: 4.6.*
This package is auto-updated.
Last update: 2024-10-22 16:05:39 UTC
README
Validator that will run on switch-case-like conditional
Installation
The preferred way to install this extension is through composer.
Either run
php composer.phar require --prefer-dist petrabarus/yii2-switchcasevalidator "*"
or add
"petrabarus/yii2-switchcasevalidator": "*"
to the require section of your composer.json
file.
Requirement
This package require
- Latest Yii2
- PHP 5.4 or later
Usage
Add something like this in the model rules()
.
//Assuming the model has attribute case, field1, and field2. //Each rule group will be validated when the case attribute match the cases. public function rules() { ['case', PetraBarus\Yii2\SwitchCaseValidator\Validator::class, //For PHP 5.4, you can use PetraBarus\Yii2\SwitchCaseValidator\Validator::className() or // string 'PetraBarus\Yii2\SwitchCaseValidator\Validator' 'cases' => [ 1 => [ ['field1', 'required'], ], 2 => [ ['field1', 'compare', 'compareValue' => 'Test'] ], 3 => [ ['field1', 'compare', 'compareValue' => 'Value 1'], ['field2', 'email'] ] ], //This will be executed if no cases matches. 'default' => [ ['field1', 'compare', 'compareValue' => 'Value 2'], ['field1', 'compare', 'compareValue' => 'Value 4'], ] ] }
Or see the test files.
Test
To run test, execute
$ phpunit