本文整理汇总了PHP中app\models\Role::validate方法的典型用法代码示例。如果您正苦于以下问题:PHP Role::validate方法的具体用法?PHP Role::validate怎么用?PHP Role::validate使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类app\models\Role
的用法示例。
在下文中一共展示了Role::validate方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: store
/**
* Store role
*
* @param array $roleData
* @throws NotFoundException, ValidationException
* @return \App\Models\RoleModel
*/
public function store($roleData)
{
try {
if (array_get($roleData, 'id')) {
$role = RoleModel::findOrFail((int) array_get($roleData, 'id'))->fill($roleData);
} else {
$role = new RoleModel();
$role->fill($roleData);
}
} catch (Exception $e) {
throw new NotFoundException(trans('app.notFound'));
}
if (!$role->validate()) {
throw new ValidationException(trans('app.correctErrors'), $role->errors()->toArray());
}
try {
$role->save();
// associate permissions
if (array_get($roleData, 'permission_id')) {
$role->perms()->sync(array_get($roleData, 'permission_id'));
}
} catch (Exception $e) {
throw $e;
}
return $role;
}
示例2: actionCreate
/**
* Creates a new Role model.
* If creation is successful, the browser will be redirected to the 'view' page.
* @return mixed
*/
public function actionCreate()
{
$model = new Role();
$searchModel = new PermissionSearch();
$dataProvider = $searchModel->search([]);
if ($model->load(Yii::$app->request->post())) {
$postData = Yii::$app->request->post();
$model->createdAt = Yii::$app->util->getUtcDateTime();
$model->createdById = Yii::$app->user->identity->id;
if (!empty($postData['selection'])) {
if ($model->validate()) {
try {
if ($model->save()) {
Yii::$app->session->setFlash('success', Yii::t('app', 'Role created'));
foreach ($postData['selection'] as $permission) {
$modelRolePermission = new RolePermission();
$modelRolePermission->roleName = $model->name;
$modelRolePermission->permissionName = $permission;
try {
$modelRolePermission->save();
} catch (Exception $e) {
}
}
return $this->redirect(['index']);
} else {
Yii::$app->session->setFlash('success', Yii::t('app', 'Role create failed'));
}
} catch (Exception $e) {
if ($e->getCode() == 11000) {
Yii::$app->session->setFlash('error', Yii::t('app', 'Role exists'));
} else {
Yii::$app->session->setFlash('error', Yii::t('app', 'Role create failed'));
}
}
}
} else {
Yii::$app->session->setFlash('error', Yii::t('app', 'Please select atleast one permission'));
}
}
return $this->render('create', ['model' => $model, 'dataProvider' => $dataProvider]);
}