Dcat Admin 笔记

2,775 阅读1分钟

1.表单验证

添加页面示例

return Form::make(new EduSystemStudent(), function (Form $form) {
            $form->display('id');
            $form->hidden('stu_num')->value(time() . rand(1000, 9999));
            $form->text('phone')->rules('regex:/^1[34578]\d{9}$/', ['regex' => '手机号格式有误']);
            $form->text('nickname')->rules('regex:/^[\x{4e00}-\x{9fa5}]+$/u|max:5', ['regex' => '必须是汉字', 'max' => '最多5个字']);
            $form->radio('sex', '性别')->options(['1' => '男', '2' => '女']);
            $form->number('age')->value('')->maxLength(3, '最多三位数')->type('number');
            $form->textarea('describe')->value('');
//            $form->text('face_img');

//            $form->display('created_at');
            $form->display('updated_at');
        });

rules(字段1,字段2)

字段1:验证规则,如正则表达式regex,非空required等

字段2:自定义错误提示文字

2.表单组件

单选框

$form->radio('sex', '性别')->options(['1' => '男', '2' => '女']);

下拉列表框select([key1->value1,key2=>value2...])

key:类似于html中select-option组件中的value值

value:类似于html中select-option组件中的内容,即页面显示的文字

$filter->equal('status', '状态')->select([1 => '正常', 2 => '禁用']);

switch组件可以实现点改(默认值是0和1,这里可以用别的值代替)

第一个参数是switch的颜色 第二个参数是更改后是否删除

1.在添加表单中写入
$form->switch('status')
    //这里的三目运算符是为了展示添加表单
    ->customFormat(function ($v) {
        return $v == 1 ? 1 : 2;
    })
    //这里的三目运算符是为了设置切换时的值
    ->saving(function ($v) {
        return $v ? 1 : 2;
    });
2.在展示表单中写入
//在这里设置展示规则
$grid->column('status')->display(function ($e) {
    return $e == 1 ? true : false;
})->switch('', true);

3.文件筛选过滤

$grid->filter(function (Grid\Filter $filter) {
    $filter->like('nickname', '学生姓名');
    $filter->startWith('phone', '手机号');
    $filter->equal('status', '状态')->select([1 => '正常', 2 => '禁用']);
    $filter->between('created_at', '注册时间')->datetime();
    $filter->equal('status','状态')->select(['1'=>'直播中','2'=>'已结束']);
});

image.png

4.展示页字段自定义方法展示

//这里的$e为字段值
$grid->column('sex', '性别')->display(function ($e) {
    return $e == 1 ? '男' : '女';
});;

5.个性化设置

可以在config/admin.php中进行更改

image.png

logo以及标题

image.png

6.模型关联

无论关联方法是否大写,在展示代码中都小写

image.png

image.png