zofe/dataform

表单助手/构建器,具有优雅的支持,适用于Deficient

1.0.7 2014-11-13 09:56 UTC

This package is auto-updated.

Last update: 2024-09-05 01:36:18 UTC


README

DataForm是一个表单构建器。默认情况下,它生成与Bootstrap 3兼容的输出。

目前它建立在Deficient(laravel组件的子集,包括eloquent和blade,以及burp路由器)之上。计划是使其也兼容laravel,作为标准包。

它可以

  • 创建表单
  • 将表单与eloquent模型绑定

用法

作为表单助手

    $form = DataForm::create();
    $form->text('title','Title'); //field name, label
    $form->text('body','Body')->rule('required'); //validator 
    $form->submit('Save');
    $form->saved(function() use ($form)
    {
        //do something with post values, then..
        
        $form->message("ok record saved");
        $form->linkRoute("home","Back to the Form");
    });
    ...

具有模型绑定的表单(预设值和保存时存储新值)

    $form = DataForm::source(User::find(1));
    $form->text('title','Title'); //field name, label
    $form->textarea('body','Body')->rule('required'); //validation
    $form->checkbox('public','Public');
    $form->select('role', 'Role')->options(Role::lists("name", "id"));
    $form->submit('Save');
    $form->saved(function() use ($form)
    {
        $form->message("ok record saved");
        $form->linkRoute("home","Back to the Form");
    });
    ...

对于"rules"字段,你可以引用laravel验证

请注意,@此时

  • 只有文本、textarea、select和checkbox字段
  • 模型绑定还不支持关系

为什么不从laravel开始呢?

我们选择"deficient"(laravel组件的子集),以使其更加独立,并赋予其作为独立使用或在任何其他项目中嵌入的能力。

安装

通过composer安装

{
    "require": {
        "zofe/dataform": "dev-master"
    }
}

设置

要配置数据库、视图,您必须参考Deficient
这是一份简短的操作指南

  • 创建最小文件夹/配置文件
  • 部署dataform视图
  • 部署一个前端控制器和示例(可选,但建议)
  $ php vendor/zofe/deficient/deficient setup:folders
  $ php vendor/zofe/dataform/dataform setup:views
  $ php vendor/zofe/dataform/dataform setup:router