https://github.com/zofe/dataform
https://github.com/zofe/dataform
Last synced: 4 days ago
JSON representation
- Host: GitHub
- URL: https://github.com/zofe/dataform
- Owner: zofe
- Created: 2014-10-30T07:12:58.000Z (over 11 years ago)
- Default Branch: master
- Last Pushed: 2014-11-13T09:58:19.000Z (over 11 years ago)
- Last Synced: 2025-08-13T18:25:22.097Z (9 months ago)
- Language: PHP
- Size: 254 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
DataForm
============
DataForm is a form builder
By default it produce Bootstrap 3 compatible output.
At this moment is built on [Deficient](https://github.com/zofe/deficient) (a subset of laravel components including eloquent and blade, plus [burp](https://github.com/zofe/burp) router).
The plan is to make it compatible also with laravel, as standard package.
It can
- Make a Form
- Bind the form with an eloquent model
## usage
as form helper:
```php
$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 with model binding (preset values and store new values on save):
```php
$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");
});
...
```
for field "rules" you can reference to laravel validation
note that @ this time:
- there are only text,textarea,select and checkbox fields
- model-binding still not support relations
## why not starting from laravel?
We choose "deficient" (a subset of laravel components)
to be more isoladed, and give the ability to use it stand-alone or embedded in any other project.
## Installation
install via composer
{
"require": {
"zofe/dataform": "dev-master"
}
}
## Setup
To configure database, views, you must reference to [Deficient](https://github.com/zofe/deficient)
This is a small how-to
- create minimum folders / configuration files
- deploy dataform views
- deploy a front controller and a sample (optional, but suggested)
```
$ php vendor/zofe/deficient/deficient setup:folders
$ php vendor/zofe/dataform/dataform setup:views
$ php vendor/zofe/dataform/dataform setup:router
```