• 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();`

    效果图

  • 相关阅读:
    从 Docker Hub 拉取镜像受阻?这些解决方案帮你轻松应对
    【面试精讲】深克隆和浅克隆的实现方式?深克隆和浅克隆有什么区别?
    centos7.9脚本,怎么排除特定的访问记录
    这12款idea插件,能让你代码飞起来
    企业计算机服务器中了mallox勒索病毒怎么解决,勒索病毒解密文件恢复
    Git如何上传代码至GitHub
    江森自控×实在智能丨RPA一天完成20+人工作量,为制造业赋能
    发稿渠道和发布新闻的步骤和技巧,收藏!
    TikTok达人解锁的条件
    c++ 11 recursive_mutex 递归锁
  • 原文地址:https://blog.csdn.net/chenrui310/article/details/126584693