• PHP使用 FormBuilder 创建表单


    无需写html与js,只需要在 controller 中使用 formbuilder

    快速生成现代化的form表单。包含复选框、单选框、输入框、下拉选择框等元素以及省市区三级联动、时间选择、日期选择、颜色选择、树型、文件/图片上传等功能。

    文档地址:http://php.form-create.com/docs/2.0/README

    ` require DIR . ‘/vendor/autoload.php’;

    use FormBuilder\Factory\Elm;

    $action = ‘/save.php’;
    $method = ‘POST’;

    $rule = [];
    $rule[] = Elm::input(‘goods_name’, ‘商品名称’)->required();
    $rule[] = Elm::input(‘goods_desc’, ‘商品描述’, ‘默认值’)->required();
    // 自定义验证
    $rule[] = Elm::input(‘mobile’, ‘手机号’, ‘’, ‘number’)->validate([
    [‘required’ => true, ‘trigger’ => ‘blur’ , ‘type’ => ‘string’, ‘message’ => ‘请输入手机号’],
    [‘trigger’ => ‘blur’ , ‘pattern’ => ‘^1\d{10}$’, ‘message’ => ‘手机号输入有误’]
    ]);
    $rule[] = Elm::input(‘disabled’, ‘禁用’)->disabled(1);
    $rule[] = Elm::radio(‘status’, ‘状态’, 0)->options(function (){
    return [[‘value’ => 1, ‘label’ => ‘开启’], [‘value’ => 0, ‘label’ => ‘锁定’]];
    });
    $rule[] = Elm::checkbox(‘checkbox’, ‘复选框’, [1])->options([[‘value’ => 1, ‘label’ => ‘白色’], [‘value’ => 2, ‘label’ => ‘红色’], [‘value’ => 3, ‘label’ => ‘黑色’]]);
    $rule[] = Elm::select(‘ids’,’多选搜索’)->setOptions([
    [‘value’=> ‘1’,’label’=> ‘苹果’],
    [‘value’=> ‘2’,’label’=> ‘香蕉’],
    [‘value’=> ‘3’,’label’=> ‘葡萄’],
    ])->filterable(true)->multiple(true);
    $rule[] = Elm::textarea(‘goods_info’, ‘商品简介’);
    $rule[] = Elm::hidden(‘id’, 1);
    // 时间
    $rule[] = Elm::dateTime(‘time’, ‘时间选择’);
    $rule[] = Elm::dateTimeRange(‘time_range’, ‘时间范围选择’);
    $rule[] = Elm::timePicker(‘time_picker’, ‘区间时间段’);
    $rule[] = Elm::rate(‘rate’, ‘评分’);
    // 颜色
    $rule[] = Elm::color(‘color’, ‘颜色选择’, ‘#ff0000’);
    // 图片选择
    $rule[] = Elm::frameImage(‘image’, ‘图片选择’, ‘’)->icon(‘image’);
    $rule[] = Elm::frameImages(‘images’, ‘图片多选’, ‘’)->icon(‘images’);

    $switch = Elm::switches(‘is_open’, ‘是否开启’)->activeText(‘开启’)->inactiveText(‘关闭’);
    //创建表单
    $form = Elm::createForm($action)->setMethod($method);

    //添加组件
    $form->setRule($rule);
    $form->append($switch);

    //生成表单页面
    echo $formHtml = $form->view();`

    效果图

  • 相关阅读:
    C++ 函数对象
    java版工程管理系统Spring Cloud+Spring Boot+Mybatis实现工程管理系统源码
    USB摄像头转HDMI(USB Camera to HDMI)设备
    HAL库笔记(重要库函数)
    奇异谱分析(SSA)matlab
    Gitlab CI/CD介绍
    【Luogu P1450】[HAOI2008] 硬币购物(dp,容斥)
    公众号一次性订阅消息
    初识node.js
    快速生成树原理详解
  • 原文地址:https://blog.csdn.net/chenrui310/article/details/126584693