Class yii\base\DynamicModel
2017-03-06 00:00
531 查看
所有类 | 方法
动态模型是一个模型类主要用于支持临时数据验证。
动态模型的典型用法是这样的,
上面的例子展示了如何验证
你可以检查验证结果\yii\base\hasErrors(),像你一样做一个正常的模式。你也可以通过模型实例访问定义的动态属性,例如,
或者,您可以使用下面的更“经典”的语法来执行特定数据验证:
动态模型实现上述特殊数据验证功能通过支持所谓的“动态属性”。它基本上允许动态定义一个属性通过其构造函数或 defineAttribute().
Constructors.
__get() public 方法
__isset() public 方法
__set() public 方法
__unset() public 方法
addRule() public 方法
这个模型添加一个验证规则。
你也可以直接操作 \yii\base\validators来添加或删除验证规则。这种方法提供了一个捷径。
attributes() public 方法
defineAttribute() public 方法
定义了一个属性。
undefineAttribute() public 方法
未定义的属性。
validateData() public static 方法
验证给定的数据与指定的验证规则。
该方法将创建一个动态模型实例,验证数据填充它,创建指定的验证规则,然后用这些规则验证数据。
继承 | yii\base\DynamicModel » yii\base\Model » yii\base\Component » yii\base\Object |
---|---|
可用自版本 | 2.0 |
动态模型的典型用法是这样的,
public function actionSearch($name, $email) { $model = DynamicModel::validateData(compact('name', 'email'), [ [['name', 'email'], 'string', 'max' => 128], ['email', 'email'], ]); if ($model->hasErrors()) { // validation fails } else { // validation succeeds } }
上面的例子展示了如何验证
$name和
你可以检查验证结果\yii\base\hasErrors(),像你一样做一个正常的模式。你也可以通过模型实例访问定义的动态属性,例如,
$model->nameand
$model->email.。
或者,您可以使用下面的更“经典”的语法来执行特定数据验证:
$model = new DynamicModel(compact('name', 'email')); $model->addRule(['name', 'email'], 'string', ['max' => 128]) ->addRule('email', 'email') ->validate();
动态模型实现上述特殊数据验证功能通过支持所谓的“动态属性”。它基本上允许动态定义一个属性通过其构造函数或 defineAttribute().
公共方法
隐藏继承方法方法详情
__construct() public 方法Constructors.
public void __construct ( array $attributes = [], $config = [] ) | ||
$attributes | array | 动态属性(名称-值对,或名字)被定义 |
$config | array | 配置应用到这个对象数组。 |
public void __get ( $name ) | ||
$name |
public void __isset ( $name ) | ||
$name |
public void __set ( $name, $value ) | ||
$name | ||
$value |
public void __unset ( $name ) | ||
$name |
这个模型添加一个验证规则。
你也可以直接操作 \yii\base\validators来添加或删除验证规则。这种方法提供了一个捷径。
public $this addRule ( $attributes, $validator, $options = [] ) | ||
$attributes | string|array | The attribute(s)的验证规则 |
$validator | mixed | 规则的验证器。这可能是一个内置验证器名称、方法模型类的名称,一个匿名函数,或者一个确认器类的名字。 |
$options | array | 选项(名称-值对)适用于验证器 |
return | $this | 模型本身 |
---|
public void attributes ( ) |
定义了一个属性。
public void defineAttribute ( $name, $value = null ) | ||
$name | string | 属性名称 |
$value | mixed | 属性值 |
未定义的属性。
public void undefineAttribute ( $name ) | ||
$name | string | 属性名称 |
验证给定的数据与指定的验证规则。
该方法将创建一个动态模型实例,验证数据填充它,创建指定的验证规则,然后用这些规则验证数据。
public static static validateData ( array $data, $rules = [] ) | ||
$data | array | 验证数据(名称-值对) |
$rules | array | The validation rules. Please refer to yii\base\Model::rules() on the format of this parameter. 验证规则。请参阅yii\base\Model::rules() 这个参数的格式。 |
return | static | 包含数据模型实例验证 |
---|---|---|
throws | yii\base\InvalidConfigException | 如果没有指定一个验证规则正确。 |
相关文章推荐
- Class yii\base\ModelEvent
- Class yii\base\Model
- Class yii\base\ErrorException
- Class yii\base\Module
- Class yii\base\View
- Class yii\base\Controller
- Class yii\base\Response
- Abstract Class yii\base\Request
- Class yii\base\Component
- Abstract Class yii\widgets\BaseListView
- Abstract Class yii\base\Application
- [Django] Base class in the model layer
- Class yii\base\ActionFilter
- Class yii\base\Behavior
- YII2.0框架(二) 模型类参考yii\base\Model
- Class yii\base\ActionEvent
- Class yii\base\InvalidValueException
- Class yii\base\Object
- Class yii\base\Action
- Class yii\base\InvalidRouteException