laraplus / form
一个用于在 Laravel 中构建表单的强大包。
dev-master
2024-03-20 13:34 UTC
Requires
- php: >=5.4.0
- illuminate/support: >=5.0
Requires (Dev)
- mockery/mockery: 0.9.*
- phpunit/phpunit: 3.7.*
- satooshi/php-coveralls: dev-master
This package is auto-updated.
Last update: 2024-09-20 14:31:47 UTC
README
该包目前正在积极开发中。目前尚无稳定版本发布。
示例
在 Blade 中的使用
您可以在 Blade 中动态创建表单
{!! Form::open('login')->action('/login')->method('post') !!} {!! Form::text('username')->label('Username') !!} {!! Form::password('password')->label('Password') !!} {!! Form::submit('submit')->text('Login') !!} {!! Form::close() !!}
在表单请求中的使用
使用 FormBuilder 特性
use Illuminate\Foundation\Http\FormRequest; use Laraplus\Form\Helpers\FormBuilder; class LoginForm extends FormRequest { use FormBuilder; public function rules() { return [ 'username' => 'required', 'password' => 'required|login' // login is a custom rule ]; } public function authorize() { return true; } public function form() { $form = $this->getFormBuilder(); $form->open('login')->action('/login')->method('post'); $form->text('username')->label('Username'); $form->password('password')->label('Password'); $form->submit('submit')->text('Login'); $form->close(); return $form; } }
在您的控制器中,您可以将表单传递给视图。表单请求不会对 GET 动作进行验证
public function index(LoginForm $form) { return view('login', ['form' => $form->form()]); }
在您的视图中,您可以一次性输出整个表单
{!! $form !!}
或者逐个字段输出
{!! $form->open !!} {!! $form->username !!} {!! $form->password !!} {!! $form->submit !!} {!! $form->close !!}
输出字段时,将返回整个表单组,但您可以进一步调整结果
{!! $form->open !!} {!! $form->username->label() !!} {!! $form->username->field() !!} {!! $form->username->error() !!} {!! $form->password->label() !!} {!! $form->password->field() !!} {!! $form->password->error() !!} {!! $form->submit->addClass('btn-primary') !!} {!! $form->close !!}