ulthon_admin
欢迎
目录和文件规范
系统架构
命名规范
php-cs-fixer
public/static目录规范
app/common目录规范
数据库规范
CURD
命令行
表结构
数据库迁移代码
最佳实践
数据库自动缓存
后台菜单导入导出
权限的用法
table数据表格
cols
operat
_if
titleField
field
selectList
valueParser
trueHide
fieldFormat
templet
defaultValue
search相关
time
defaultSearchValue
defaultToolbar
init
formFullScreen
toobar
modifyReload
控制器
CURD方法
导出
控制器通用验证
dataBrage向js传递参数
组件控件
select
下拉菜单option拼接
lay-submit
paste-text粘贴
multiple-columns
editor
data-upload上传
tag-input标签输入
property-input动态字段输入
data-date时间控件参数
table-data列表选择器
city-picker城市选择器
copy-text
全局监听组件
data-request
data-open
内置定时器
并发模式
重置密码
系统配置
PHP助手函数
sysconfig
JS助手函数
checkMobile
empty
open 弹框
叠加loading
getDataBrage
getQueryVariable
扩展机制
事件扩展
实现事件
执行事件
事件列表
AdminLayoutRequireAfter
LoadMigrationFiles
AdminLoginIndex
AdminLoginForget
AdminLoginType
AdminMenuTab
AdminLayoutRequireBefore
自动更新
性能优化
精简代码
关闭数据库日志驱动
皮肤
正常
科幻
其他
切换模块时直接切换内容
关闭上传文件注入检测
代码编译原理
接入workerman和命令参数
升级TP6.1
Request的默认过滤
异步引入全局script
线上安装脚本
兼容PHP8.1
在控制器中使用验证器的基本方式有两种:
基本用法:复制Curd
方法并重写
比如这样:
我们把app\admin\traits\Curd.php
中的对应方法赋值到控制器中,然后重写即可
/**
* @NodeAnotation(title="添加")
*/
public function add()
{
if ($this->request->isPost()) {
$post = $this->request->post();
$rule = [
'password'=>'require' // 在这里设置验证的数组
];
// 也可以是一个validate对象
// $rule = Validate::rule('password',ValidateRule::isRequire());
$this->validate($post, $rule);
try {
$save = $this->model->save($post);
} catch (\Exception $e) {
$this->error('保存失败:'.$e->getMessage());
}
$save ? $this->success('保存成功') : $this->error('保存失败');
}
return $this->fetch();
}
推荐用法:设置validateRule
属性
直接在__construct
中设置validateRule
属性,这样不需要在Curd
中复制方法,并且对add
和edit
都生效.
public function __construct(App $app)
{
parent::__construct($app);
$this->model = new MallCate();
$this->validateRule = [
'password'=>'require' // 在这里设置验证的数组
];
// 也可以是一个validate对象
// $this->validateRule = Validate::rule('password',ValidateRule::isRequire());
}
设置验证提醒
可以使用validate
的第三个方法传递$message
提醒信息,也可以像下面这样,直接设置属性.
public function __construct(App $app)
{
parent::__construct($app);
$this->model = new MallCate();
$this->validateMessage = [
'password.require'=>'密码必填' // 在这里设置提醒的数组
];
}
由于提醒信息是一个数组,所以也可以直接定义属性,不必写在__construct
中
原文标题:控制器通用验证
原文文档:ulthon_admin
原文地址:https://doc.ulthon.com/read/augushong/ulthon_admin/62189dc07b230/zh-cn/2.x.html
原文平台:奥宏文档
2.x