Validator that will run on switch-case-like conditional
Requirements ¶
- 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'],
]
]
}
If you have any questions, please ask in the forum instead.
Signup or Login in order to comment.