国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > PHP > 正文

yii2的ActiveForm表單使用的方法介紹

2020-03-22 19:48:56
字體:
來源:轉載
供稿:網友
本篇文章給大家帶來的內容是關于yii2的ActiveForm表單使用的方法介紹,有一定的參考價值,有需要的朋友可以參考一下,希望對你有所幫助。

因目前項目并非前后端分離模式,且用到PHP的yii2框架(所有html代碼,js較多內嵌在.php文件內多少采用同步提交【噴墨中...】),遂對于前端面上需要用到的yii2小組件一些整理(因是前端若涉及到php寫法錯誤或者風格問題,敬請指點)

使用場景盡量為表單

基礎注冊調用小組件

 ?php use yii/helpers/Html; use yii/widgets/ActiveForm; //首先注冊activeForm小部件,并賦值給$form(php中的聲明變量方法用$ 等價于js中的var let) //begin 標志小部件開始 ?php $form = ActiveForm::begin([ id = login-form , //聲明小部件的id 即form的id //聲明需要添加的屬性 ,例如class , data-x等 options = [ class = form-horizontal ], ]) ?  //注冊完小部件后可以在 activeForm小部件聲明塊中調用小部件的方法 ?= $form- field($model, password )- passwordInput() ? //::end標識小部件結束 ?php ActiveForm::end() ? 

1、首先就列出activeForm的一些基本方法:

自定義input框:input();

文本框:textInput();

密碼框:passwordInput();

單選框:radio(),radioList();

復選框:checkbox(),checkboxList();

下拉框:dropDownList();

多選列表:listBox();

隱藏域:hiddenInput();

文本域:textarea([ rows =

文件上傳:fileInput();

widget擴展 ?= $form- field($model, username )- widget(/yii/widgets/MaskedInput::className(), [ mask = 9999/99/99 ,]); ?

2、下面我就逐一描述下各個方法的基本調用以及如何自定義所需(上述各方法中input之前均是描述的是input標簽的類型)

2.1 input 文本框/密碼框以及各指定類型框

 ?php $form=ActiveForm::begin([ id = login , class = login ])?  !-- 簡易用法 使用activeForm 的 fiedld方法 --  !-- 其中 該方法下有  textInout/passwordInput 等一些常用input類型方法 hint 輸入前的提示內容 error 錯誤內容 //一般由后臺生成 label 可以更改label內的內容 在hint,error,label設置class后將會重置了 這些方法內原來屬于容器上的class若需要可以原樣賦回去 !-- 這里的 $mode為跟字段有關的數據模型 , 第二個參數為關系模型中的字段不存在將報錯, 第三個參數為模板內的一些內容的進行自定義 ?= $form- field($model, username ,[ options = [],//數組里面可以設置自需屬性 // template 為字符串模板可自定義模板 , // 其中 {label} {input} {hint} {error} 存在是會調用對應封裝好的html模板 當然你也可以不寫這樣就不會生成yii2內置小部件模板 template = {label} {input} {hint} {error} , // 以下三個分別可以設置label ,input ,hint,error的屬性(都是選填項) // 其中如果后面有使用- input...,label(...)等將會將這些里面的配置合并值對應的xxxOptions 內 labelOptions = [ class = 需要在label上添加的類名  //....其他屬性集 inputOptions = [], hintOptions = [], errorOptions = [], ])- textInput([ // 在options數組內可以設置任意屬性 class = testClass , value = 測試  ])- hint( // 設置提示內容,當只有一個參數切為false(boolean)用于顯示提示的標簽 Please enter your name , // 設置任意屬性 class = testHint  ])- label( // 設置label顯示內容,當只有一個參數切為false(boolean)label標簽將不會被渲染 Name , // 設置任意屬性 class = testLabel  ])- error([ // 任意屬性,當只有一個參數切為false(boolean)用于顯示錯誤的標簽 class = errors  ]) ?  !-- 可自定義類型input 這里只描述了input的參數 其余參數參考上個示例 --  ?= $form- field($model, username )- input( // input內只允許放置兩個參數即[type ,options] email ,//該處為指定type= xxxx 的input類型 [ class = tests , value = 值 ]//可在內部定義任何屬性 ) ?  ?php ActiveForm::end();? 

2.2 radio 單選框系列

 ?php $form=ActiveForm::begin([ id = login , class = login ])?  !--  老實說對這個radio方法相當迷惑 一個單選按鈕選擇而且一旦選擇無法取消,無法一次柑橘屬性放置多個值 在有radioList方法的前提下覺得相當雞肋 第二個參數中false為是否開啟label標簽若沒開啟 labelOption 將無效 ,label設置的值直接顯示在容器內 ?= $form- field($model, username )- radio([ // 隱藏域中的值 uncheck = test1 , // 定義lebal的內容 label = test , // label上的任意屬性 labelOptions = [ gs = test  ],false)?  !--  單選框組  若要設置默認值,則在對應控制器中將指定字段設置為 需要選擇的值 $model- username = 1; ?= $form- field($model, username )- radioList([ 0 = a , 1 = b , 2 = c  // tag聲改變 >

2.3 checkbox多選框系列

 ?php $form=ActiveForm::begin([ id = login , class = login ])?  !--  checbox方法 該方法與radio 方法近似就不多說了 直接擼代碼 具體可參考 radio ?= $form- field($model, username )- checkbox([ // 隱藏域中的值 uncheck = test1 , // 定義lebal的內容 label = test , // label上的任意屬性 labelOptions = [ gs = test  ],true)?  !--  checkboxList方法 ?= $form- field($model, username )- checkboxList([ 1 = 籃球 , 2 = 足球 , 3 = 游戲 , 4 = 讀書  // tag聲改變 >

2.4 select下拉列表系列

 ?php $form=ActiveForm::begin([ id = login , class = login ])?  !--  dropDownList方法 下拉列表 ?= $form- field($model, username )- dropDownList([ // 二維數組直接回報上組標簽 test = [ 1 = 籃球 , 2 = 足球 , 3 = 游戲 , 4 = 讀書  // 設置下拉列表的默認請選擇選項 prompt = [ text = 請選擇 ,  options = [ value = none , class = prompt , label = Select ] encode = false, // 對select option的設置條件以及更改內容 options = [ // 設置禁止選擇項 2 = [ disabled = true], //替換或者追加指定key的內容,實際上原內容還在只是假設了 label 屬性 和顯示了 label的屬性值 4 = [ label = value 2 ], encodeSpaces = true // 除此yii2有規定屬性之外還可自定義任意屬性 且上述屬性均不是必填 ])? 
?php ActiveForm::end();?

2.5 widget 小部件

 ?php $form=ActiveForm::begin([ id = login , class = login ])?  !--  用于強制輸入正確內容的input部件 ?= $form- field($model, username ,[ template = h2 test /h2 {label} {input} {error}  ])- widget(/yii/widgets/MaskedInput::className(), [ // 指定input類型 // type = time , // 指定必須輸入的類型 mask = 999-9999-9999 , options = [ class = form-control test ] ]); ?  !--  用于生成帶圖片驗證的input小部件 ?= $form- field($model, verifyCode )- widget(Captcha::className(), [ captchaAction = login/captcha , options = [ class = two , id = two , placeholder = 請輸入驗證碼 , template = {input}{image} , imageOptions = [ alt = images , ])?  --------------------- 最后一個并未實測 ------------------------------- !-- 自定義小部件 需在widget文件定義源文件 -- ?= $form- field($model, username )- widget( WidgetClassName , [ // configure additional widget properties here ]) ? ?php ActiveForm::end();? 

以上是這段時間使用的一篇小總結 如有用法錯誤敬請指點

以上就是yii2的ActiveForm表單使用的方法介紹的詳細內容,PHP教程

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 平山县| 桓仁| 亳州市| 肇庆市| 武威市| 荔浦县| 额济纳旗| 永昌县| 宽甸| 雷波县| 东乡族自治县| 博客| 揭阳市| 双牌县| 安化县| 雷州市| 武宁县| 抚远县| 同心县| 苍溪县| 长岭县| 平昌县| 大化| 唐河县| 康乐县| 永康市| 西华县| 南安市| 南通市| 石景山区| 綦江县| 深圳市| 广安市| 余庆县| 遵义市| 江山市| 崇义县| 安庆市| 黑龙江省| 高雄市| 盘锦市|