内容简介:在 Laravel 中优雅处理 Form 表单
原文: https://www.laravist.com/blog...
在开发 Laravel 应用的时候,通常都会涉及到表单的处理,针对如何优雅处理和复用 Laravel 的 Form 表单,下面是小小的人生经验:
使用 Form Package
虽然写原生的 HTML 代码可读性确实高了,但是其实 Form Package
还是会带给我们很多的便利,比如在使用 Form::model()
和 Form::select()
的时候。
想象这样一个例子:我们需要添加或者更新用户的用户名
我们可以设计类似这样的代码和目录结构:
// 位于 resources/views/users/edit.blade.php {!! Form::model($user, ['route' => ['users.update', $user->id], 'method' => 'put']) !!} @include('users._form') // Your cancel / update buttons {!! Form::close() !!} // 位于 resources/views/users/_form.blade.php <div class="form-group"> {!! Form::label('name', 'Name') !!} {!! Form::text('name') !!} </div>
上面的 Form
生成的 HTML 代码大概是这个样子:
<form method="POST" action="http://example.com/users/1" accept-charset="UTF-8"> <input name="_token" type="hidden" value="Q5oILhAr92pVqfE0ZSSXjSdJuUi09DVSPWweHQlq"> <input name="_method" type="hidden" value="PUT"> <div class="form-group"> <label for="name">Name</label> <input name="name" type="text" value="Michael"> </div> </form>
注意在 Form::model()
方法中,我们之间传递了 $user
变量,这也就是说:如果 $user
存在 name
属性的值,表单就会自动填充该值,都不用我们手动写。
第二点就是,既然我们是要传递 $user
到 Form::model()
中,我们可以在控制器中使用这样的小技巧:
class UserController extends Controller { public function create() { return view('users.create', ['user' => new User]); } public function edit(User $user) { return view('users.edit', ['user' => $user]); } }
这样的话,你在编辑和新增的时候都不会存在冲突,编辑更新的时候有 name
的值,新增的时候就不用有 name
的值。所以我们可以把整个 Form 表单写成类似下面这个:
// 位于 resources/views/users/_form.blade.php <div class="form-group"> <label for="name">Name</label> <input type="text" name="name" value="{{ old('name', $user->name) }}" class="form-control"> </div>
这样就大功告成啦!
最后
还是那句话:在表单处理的时候还是可以考虑一下 Form Package
,特别是你在处理 <select>
的时候,你会想念 Form Package
的。
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:- 复杂表单的模块化处理
- 基于 jQuery 的 Web 表单处理工具 TinyForm 0.7.8 发布
- 表单 – 避免Symfony强制显示表单字段
- 细说 Angular 2+ 的表单(二):响应式表单
- 8款最新CSS3表单 环形表单很酷
- 动态表单 form-create 2.5 版本来啦,帮你轻松搞定表单
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
算法技术手册
[美]海涅曼 (Heineman.G.T.)、[美]波利切 (Pollice.G.)、[美]塞克欧 (Selkow.S.) / 东南大学出版社 / 2009-4 / 58.00元
创造稳定的软件需要有效的算法,但是程序设计者们很少能在问题出现之前就想到。《算法技术手册(影印版)》描述了现有的可以解决多种问题的算法,并且能够帮助你根据需求选择并实现正确的算法——只需要一定的数学知识即可理解并分析算法执行。相对于理论来说,本书更注重实际运用,书中提供了多种程序语言中可用的有效代码解决方案,可轻而易举地适合一个特定的项目。有了这本书,你可以: 解决特定编码问题或改进现有解决......一起来看看 《算法技术手册》 这本书的介绍吧!