misterspelik / yii2-role-activeform
基于角色的ActiveForm,允许字段根据角色进行编辑或只读
v0.1.0
2018-02-07 10:01 UTC
Requires
- php: >=5.6.0
- yiisoft/yii2: >2.0.6
This package is not auto-updated.
Last update: 2024-09-23 06:57:36 UTC
README
这是一个用于与Yii2表单小部件一起使用的包。使用方法与Yii2 ActiveForm小部件完全相同。
安装
composer require misterspelik/yii2-role-activeform
配置
例如,你有一个模型 User,你想允许 admin 角色编辑所有字段,但不允许 manager 角色编辑姓名字段。为此,你需要定义包含以下内容的 roleRules 方法
public function roleRules() { return [ [ 'allow' => true, 'attributes' => ['*'], 'roles' => ['admin'] ], [ 'allow' => false, 'attributes' => ['name'], 'roles' => ['manager'] ], ]; }
使用方法
要将小部件包含到你的表单中,只需使用此命名空间并创建 $form 实例
use misterspelik\widgets\RoleActiveForm; $form = RoleActiveForm::begin([ 'role' => 'manager' //current user role ]); echo $form->field($model, 'name')->textInput(['maxlength' => true]); // some code here RoleActiveForm::end();