摘要:原文地址安裝首先通過來安裝這個包編輯項目的文件在部分加入接下來從命令行更新接下來添加到的數(shù)組最后添加兩個類鏈接到的數(shù)組創(chuàng)建表單打開表單默認是方法你可以隨意指定其他接收方法表單僅僅支持和方法和方法將會使用一個隱藏域添加到表單中來欺騙實現(xiàn)你可
原文地址: Laravel Collective Forms & HTML
安裝首先通過 composer 來安裝這個 包, 編輯項目的 composer.json 文件. 在 require 部分 加入 laravelcollective/html :
"require": { "laravelcollective/html": "5.1.*" }
接下來從命令行更新 composer :
composer update -vvv
接下來添加 provider 到 config/app.php 的 providers 數(shù)組:
"providers" => [ // ... CollectiveHtmlHtmlServiceProvider::class, // ... ],
最后 添加兩個類鏈接到 config/app.php 的 aliases 數(shù)組:
"aliases" => [ // ... "Form" => CollectiveHtmlFormFacade::class, "Html" => CollectiveHtmlHtmlFacade::class, // ... ],創(chuàng)建表單 打開表單
{!! Form::open(array("url" => "foo/bar")) !!} // {!! Form::close() !!}
默認是 POST 方法, 你可以隨意指定其他接收方法
echo Form::open(array("url" => "foo/bar", "method" => "put"))
Note: HTML 表單僅僅支持 POST 和 GET方法, PUT 和DELETE 方法將會使用一個隱藏域_method 添加到form 表單中來欺騙實現(xiàn)
你可以使用指定的控制器@動作 或者命名的路由來創(chuàng)建表單
echo Form::open(array("route" => "route.name")) echo Form::open(array("action" => "Controller@method"))
同樣也可以向路由中傳入?yún)?shù).
echo Form::open(array("route" => array("route.name", $user->id))) echo Form::open(array("action" => array("Controller@method", $user->id)))
如果你的表單需要支持文件上傳, 在數(shù)組中添加 一個 files 配置項.
echo Form::open(array("url" => "foo/bar", "files" => true))CSRF 保護 向表單中添加 CSRF Token
Laravel 提供了一個簡單的方法來防止你的應用遭受跨站攻擊. 首先會在你的session 中生成一個隨機的 token, 如果你使用 Form::open 方法并且提交方法是 POST, PUT或者是 DELETE, CSRF token 將會自動的添加到你的form 表單的隱藏域中. 換種方法 如果你像自己生成 CSRF token 字段, 你可以使用 token 方法.
echo Form::token();給路由添加 CSRF 過濾器
Route::post("profile", array("before" => "csrf", function() { // }));表單模型綁定 給表單綁定模型
通常, 你需要想表單中填入來自數(shù)據(jù)庫模型的數(shù)據(jù). 想這樣做你可以使用 Form::model 方法.
echo Form::model($user, array("route" => array("user.update", $user->id)))
現(xiàn)在當你自動生成一個表單元素, 例如文本輸入框. Model 的值將會自動匹配并且填寫到相關的表單字段中.例如. 一個文本輸入框的 name 是 email這個字段將會用 用戶 Model 的 email 屬性來填充并且設置. 當然, 還有其他用法. 如果一個字段在session 閃存數(shù)據(jù)中 也存在這個名字, 這個將會覆蓋模型中的這個字段值. 優(yōu)先級是這個樣子的:
Session Flash Data (Old Input) [session 閃存 / 老的輸入數(shù)據(jù) ]
Explicitly Passed Value [輸入值]
Model Attribute Data [模型屬性值]
這個可以讓你快速的使用模型數(shù)據(jù)來創(chuàng)建表單, 也能輕松的在服務器校驗錯誤之后重新發(fā)布表單.
標簽 生成標簽元素Note: 使用 Form::model方法的時候一定要使用 Form::close來關閉表單!
echo Form::label("email", "E-Mail Address");指定額外的 html 屬性
echo Form::label("email", "E-Mail Address", array("class" => "awesome"));
文本框, 文本域, 密碼 & 隱藏域 創(chuàng)建文本框Note: 在創(chuàng)建了一個標簽之后, 如果有創(chuàng)建的表單元素的 name 值和 label 的 name 值相符的話, 將會自動在 表單元素 中自動匹配增加 id 屬性. id 的值就是 label 的name 值.
echo Form::text("username");指定默認值
echo Form::text("email", "[email protected]");
生成密碼輸入框Note: hidden 和 textarea 方法的參數(shù)和 text 相同.
echo Form::password("password", array("class" => "awesome"));生成其他輸入框
echo Form::email($name, $value = null, $attributes = array()); echo Form::file($name, $attributes = array());多選和單選 生成單選和多選
echo Form::checkbox("name", "value"); echo Form::radio("name", "value");生成帶有選中狀態(tài)的表單元素
echo Form::checkbox("name", "value", true); echo Form::radio("name", "value", true);數(shù)字 生成數(shù)字輸入框
echo Form::number("name", "value");日期 生成日期輸入框
echo Form::date("name", CarbonCarbon::now());文件選擇器 生成文件選擇器
echo Form::file("image");
下拉列表 生成下拉列表Note: 表單中必須設置 files 參數(shù)的值為 true
echo Form::select("size", array("L" => "Large", "S" => "Small"));生成有默認值的下拉列表
echo Form::select("size", array("L" => "Large", "S" => "Small"), "S");生成空占位符的 下拉列表
這回創(chuàng)建一個沒有任何值的 元素作為下拉列表的第一個選擇值.
echo Form::select("size", array("L" => "Large", "S" => "Small"), null, ["placeholder" => "Pick a size..."]);生成分組的列表
echo Form::select("animal", array( "Cats" => array("leopard" => "Leopard"), "Dogs" => array("spaniel" => "Spaniel"), ));生成范圍選擇值的下拉列表
echo Form::selectRange("number", 10, 20);生成有月份名稱的選擇值
echo Form::selectMonth("month");按鈕 生成提交按鈕
echo Form::submit("Click Me!");
自定義表單元素 注冊一個新的表單元素Note: 想創(chuàng)建一個按鈕元素? 試用 button 方法. 他和 submit 方法有相同的參數(shù).
用來很方便的來自定義一個表單元素的方法叫做 macros . 合理是怎樣使用它. 首先簡單的使用名稱和閉包函數(shù)來注冊一個 :
Form::macro("myField", function() { return ""; });
現(xiàn)在你可以使用自定義的名字來調(diào)用這個 macro
調(diào)用自定義的 Form Macroecho Form::myField();生成URL link_to
根據(jù)給定的URL生成 html 鏈接
echo link_to("foo/bar", $title = null, $attributes = array(), $secure = null);link_to_asset
生成一個鏈接到指定資源的 html
echo link_to_asset("foo/bar.zip", $title = null, $attributes = array(), $secure = null);link_to_route
生成一個根據(jù)給定路由的html鏈接
echo link_to_route("route.name", $title = null, $parameters = array(), $attributes = array());link_to_action
根據(jù)指定的控制器/方法來生成 html 鏈接
echo link_to_action("HomeController@getIndex", $title = null, $parameters = array(), $attributes = array());
文章版權歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/31975.html
摘要:本文經(jīng)授權轉(zhuǎn)自社區(qū),后續(xù)更新將以帖子內(nèi)容和內(nèi)容為準。說明另一個令人喜歡的地方,是擁有活躍的開發(fā)者社區(qū),而活躍的開發(fā)者社區(qū)帶來的,是繁華的擴展包生態(tài)。本文對上打了標簽的擴展包進行整理,截止到現(xiàn)在年月號,有超過個擴展包,以下是下載量最大的個。 本文經(jīng)授權轉(zhuǎn)自 PHPHub 社區(qū),后續(xù)更新將以 PHPHub 帖子內(nèi)容 和 GitHub 內(nèi)容 為準。 說明 Laravel 另一個令人喜歡的地方...
摘要:中秋之際,團隊發(fā)布正式版,當天宣布支持。其實從開始,到之后版本和版本,一直緊隨其后?,F(xiàn)在就開始在中使用的第一個應用吧。這些警告表示包里沒有,這些僅僅用于一些包信息。好了,現(xiàn)在的準備工作已經(jīng)完成了,您可以開始創(chuàng)建的應用了。 中秋之際,Angular 團隊發(fā)布 Angular 2 正式版,Wijmo 當天宣布支持 。其實從Angular Alpha開始,到之后 Beta版本 和 RC 版本...
摘要:表單刪除兩種方法表單操作需要安裝就可以使用標簽了如下刪除如果沒有安裝就使用默認的表單提交刪除,例如刪除控制器方法可以這么寫刪除成功刪除失敗路由控制器新建方法控制器內(nèi)容和上面一致,不過需要注意的是路由要增加一條針 表單刪除兩種方法 1.Form表單操作 需要Laravel 安裝laravelcollective require: { php: >=5.5.9, laravel/frame...
摘要:不難發(fā)現(xiàn),的還默認為我們生成一個的表單,這個是默認對表單提交的一點安全支持。在表單提交的時候,會自動檢查這個是否與保存在中的一致,如果不一致,那就直接跳轉(zhuǎn)回遠頁面,不允許我們提交數(shù)據(jù)。 原文來自:https://jellybool.com/post/programming-with-laravel-5-laravel-forms-input 免費視頻教程地址 https://larav...
閱讀 2458·2023-04-25 21:41
閱讀 1639·2021-09-22 15:17
閱讀 1905·2021-09-22 10:02
閱讀 2331·2021-09-10 11:21
閱讀 2545·2019-08-30 15:53
閱讀 956·2019-08-30 15:44
閱讀 931·2019-08-30 13:46
閱讀 1082·2019-08-29 18:36