Alexander Makarov
12 years ago
1 changed files with 36 additions and 0 deletions
@ -0,0 +1,36 @@
|
||||
Model |
||||
===== |
||||
|
||||
Validation rules and mass assignment |
||||
------------------------------------ |
||||
|
||||
In Yii2 unlike Yii 1.x validation rules are separated from mass assignment. Validation |
||||
rules are described in `rules()` method of the model while what's safe for mass |
||||
assignment is described in `scenarios` method: |
||||
|
||||
```php |
||||
|
||||
function rules() { |
||||
return array( |
||||
// rule applied when corresponding field is "safe" |
||||
array('username', 'length', 'min' => 2), |
||||
array('first_name', 'length', 'min' => 2), |
||||
array('password', 'required'), |
||||
|
||||
// rule applied when scenario is "signup" no matter if field is "safe" or not |
||||
array('hashcode', 'check', 'on' => 'signup'), |
||||
); |
||||
} |
||||
|
||||
function scenarios() { |
||||
return array( |
||||
// on signup allow mass assignment of username |
||||
'signup' => array('username', 'password'), |
||||
'update' => array('username', 'first_name'), |
||||
); |
||||
} |
||||
|
||||
``` |
||||
|
||||
Note that everything is unsafe by default and you can't make field "safe" |
||||
without specifying scenario. |
Loading…
Reference in new issue