mirror of
https://github.com/yiisoft/yii2.git
synced 2025-11-13 20:59:12 +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