PHP code example of jsyqw / param-validate
1. Go to this page and download the library: Download jsyqw/param-validate library . Choose the download type require .
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
jsyqw / param-validate example snippets
/**
* 列表
* 默认分页参数
* 每页条数:per_page
* 第几页: page
* @return array
*/
public function actionIndex(){
$reqData = RequestHelper::get();
//验证
$validateModel = ParamsValidate::validate($reqData, [
[['page','per_page'], 'integer'],
['username', 'filter', 'filter' => 'trim'],
['realname', 'filter', 'filter' => 'trim'],
['status', 'integer', 'message' => '状态参数必须是整型'],
['phone', 'safe'],
]);
if($validateModel->hasErrors()){
return $this->paramsError($validateModel->getFirstErrorMsg());
}
$query = new Query();
$columns = [
't.id',
't.status',
't.username',
't.avatar',
't.realname',
't.phone',
't.create_time',
't.update_time',
];
$query->select($columns);
$query->from(SysUser::tableName() . ' t');
$query->andFilterWhere([
't.status' => $validateModel->status,
]);
$query->andFilterWhere(['like', 't.username', $validateModel->username])
->andFilterWhere(['like', 't.realname', $validateModel->realname])
->andFilterWhere(['like', 't.phone', $validateModel->phone]);
$query->orderBy('t.id desc');
$dataProvider = new ActiveDataProvider([
'query' => $query,
]);
$list = $dataProvider->getModels();
$total = $dataProvider->getTotalCount();
$result = [
'list' => $list,
'total' => $total,
];
return $this->success($result);
}