本文整理匯總了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]);
}