[转]Laravel 4之表单
创建表单
除了原有的方式创建表单,Laravel提供了一种便捷的方式
<!-- app/views/form.blade.php -->
Form::open(array('url' => 'our/target/route'))
Form::close()
编译后HTML为
<formmethod="POST"action="http://demo.dev/our/target/route"accept-charset="UTF-8">
<inputname="_token"type="hidden"value="83KCsmJF1Z2LMZfhb17ihvt9ks5NEcAwFoRFTq6u">
</form>
自定义提交方法
Form::open(array(
'url'=>'our/target/route',
'method'=>'GET',
'accept-charset'=>'ISO-8859-1'
))
Form::close()
在表单中需要上传文件
Form::open(array(
'url'=>'our/target/route',
'files'=>true
))
Form::close()
在表单中指向路由别名或控制器
Form::open(array('route'=>'my_route'))
orm::open(array('action'=>'MyController@myAction'))
表单标签
Lable标签
Form::label('first_name','First Name')
//<label for="first_name">First Name</label>
Form::label('first_name','First Name', array('id'=>'first_name'))
//<label for="first_name" id="first_name">First Name</label>
文本域标签
Form::text('first_name','Taylor Otwell')
//<input name="first_name" type="text" value="Taylor Otwell">
orm::textarea('description','Best field ever!')
//<textarea name="description" cols="50" rows="10">Best field ever!</textarea>
Form::password('secret')
//<input name="secret" type="password" value="">
Form::email('email','me@email.com')
//<input name="email" type="email" value="me@email.com">
Form::hidden('panda','luishi')
//<input name="panda" type="hidden" value="luishi">
多选框标签
Form::checkbox('pandas_are_cute','1',true)
//<input checked="checked" name="pandas_are_cute" type="checkbox" value="1">
单选框标签
Form::radio('panda_colour','red',true)
//<input checked="checked" name="panda_colour" type="radio" value="red">
下拉菜单
Form::select('panda_colour', array(
'red'=>'Red',
'black'=>'Black',
'white'=>'White'
),'red')
//<select id="panda_colour" name="panda_colour">
<option value="red" selected="selected">Red</option>
<option value="black">Black</option>
<option value="white">White</option>
</select>
//菜单分组
Form::select('bear', array(
'Panda'=> array(
'red'=>'Red',
'black'=>'Black',
'white'=>'White'
),
'Character'=> array(
'pooh'=>'Pooh',
'baloo'=>'Baloo'
)
),'black')
文件上传标签
Form::file('avatar')
//<input name="avatar" type="file">
按钮标签
Form::submit('Save')
//<input type="submit" value="Save">
Form::button('Smile')
//<button type="button">Smile</button>
Form::reset('Clear')
<input type="reset" value="Clear">
图片标签
Form::image(asset('my/image.gif','submit'))
//<input src="https://demo.dev/my/image.gif" type="image">
自定义宏
定义宏
Form::macro('fullName',function()
{
return'<p>Full name: <input type="text" name="full_name"></p>';
});
使用宏
Form::fullName();
使用参数
Form::macro('fullName',function($name)
{
return'<p>Full name: <input type="text" name="'.$name.'"></p>';
});
Form::fullName('my_field')
CSRF防御机制
使用Form::open()
会自动创建添加CSRF令牌,也可以手动添加CSRF令牌到表单中
<formaction=""method="POST">
</form>
使用默认的CSRF过滤器
Route::post('/handle-form', array('before'=>'csrf',function()
{
// Handle our posted form data.
}));
结束
[转]Laravel 4之表单的更多相关文章
- laravel中form表单,ajax传值没反应
laravel中form表单,ajax传值没反应时,可能是令牌有问题. form中添加: {{csrf_token()}} ajax中添加: data: {'page': page, '_token' ...
- php laravel加密 form表单认证 laravel分页
use Illuminate\Support\Facades\Crypt; echo Crypt::encrypt(123); //加密echo "<br>";//解密 ...
- Laravel在进行表单验证时,错误信息未返回
马上要毕业了,找了现在的这家公司,压力不大,自己也比较喜欢,唯一的遗憾就是手机号莫得换了(找不到换的借口). 进入正题: 之前自己的博客(http://lxiaoke.cn)是用ThinkPHP开发的 ...
- laravel中的表单请求类型和CSRF防护(六)
laravel中为我们提供了绑定不同http请求类型的函数. Route::get('/test', function () {}); Route::post('/test', function () ...
- laravel中设置表单的方式,以及获取表单的提交的数据
- Laravel教程 六:表单 Forms
Laravel教程 六:表单 Forms 此文章为原创文章,未经同意,禁止转载. Form laravel 5.2 之后请使用 laravelcollective/html 替换 illuminate ...
- Laravel表单传值
仔细阅读过Laravel官方文档的就不用看啦~ 整理下之前遇到的关于Laravel表单的一些小问题 表单传值无法传过去,因为laravel做了表单的防护 只需要将{{ csrf_field() }}放 ...
- laravel中,提交表单后给出提示例如添加成功,添加失败等等
laravel中的表单插入,我想在表单插入成功后,可以像thinkphp一样可以有一个提示内容,上网Google,他们还是给出的方法就是 return redirect('/')->with(' ...
- Laravel 5系列教程六:表单 Forms
免费视频教程地址https://laravist.com/series/laravel-5-basic 在开始之前,我们把界面先美化一点点先: 首先到https://github.com/JellyB ...
随机推荐
- [RxJS] Reactive Programming - Rendering on the DOM with RxJS
<!DOCTYPE html> <html> <head> <script src="https://code.jquery.com/jquery- ...
- HDU 多校联合练习赛2 Warm up 2 二分图匹配
Warm up 2 Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 65535/32768 K (Java/Others) Total ...
- 解决 Google 重定向,体验 Google 本味
想要体验原汁原味的 Google(google.com),下面的方案是我用过的较方便的方案. 欢迎更正及补充 Chrome 扩展 Chrone 商店有一款禁止重定向的扩展 NoCountryRedir ...
- 使用date转换UNIX时间戳
1.将time string转换成时间戳 date -d "2010-10-12 12:25:00" +%s 2.将时间戳转换成time string date -d " ...
- word-wrap 和 word-break
一.word-wrap 1.浏览器支持 所有主流浏览器都支持 word-wrap属性 2.定义和用法 word-wrap 属性允许长单词或 URL 地址换行到下一行. 语法 word-wrap: no ...
- Android ----------获取各种路径(更新中。。。。。。)
##在手机中的路径 *获取应用的路径,形式:/data/data/包名 String appDataDir = getApplicationInfo().dataDir; *获取手机数据存储路径,即/ ...
- .NET技术
1.在C#中,string str = null 与 string str = “” 请尽量使用文字或图象说明其中的区别.回答要点:说明详细的空间分配.(10分) 解:string str=null ...
- 未在本地计算机上注册"Microsoft.ACE.OLEDB.12.0"提供程序
运行时出现了错误,提示未在本地计算机上注册"Microsoft.ACE.OLEDB.12.0"提供程序. 这个问题的原因是64位PC上安装了Office的32位版本,所以Micro ...
- js 计算某年某周日期范围
<HTML><HEAD><script type="text/javascript"> //目前只判断了4位有效输入的年份,//日期输出格式已处 ...
- 简单的LRU Cache设计与实现
要求: 设计并实现一个LRU缓存的数据结构,支持get和set操作 get(key):若缓存中存在key,返回对应的value,否则返回-1 set(key,value):若缓存中存在key,替换其v ...