Yii2 Switch Case Validator
Validator that will run on switch-case-like conditional, (*1)
, (*2)
Installation
The preferred way to install this extension is through composer., (*3)
Either run, (*4)
php composer.phar require --prefer-dist petrabarus/yii2-switchcasevalidator "*"
or add, (*5)
"petrabarus/yii2-switchcasevalidator": "*"
to the require section of your composer.json
file., (*6)
Requirement
This package require, (*7)
- Latest Yii2
- PHP 5.4 or later
Usage
Add something like this in the model rules()
., (*8)
//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., (*9)
Test
To run test, execute, (*10)
$ phpunit