mirror of
https://github.com/yiisoft/yii2.git
synced 2025-11-13 12:49:04 +08:00
Merge branch 'master' of git.yiisoft.com:yii2
This commit is contained in:
36
docs/model.md
Normal file
36
docs/model.md
Normal file
@@ -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.
|
||||||
Reference in New Issue
Block a user