我想在CakePHP中創建一個表單,同時激活SecurityComponent
。到目前爲止好,現在我想添加自定義input
元素,我不能使用FormHelper
生成。但是,我確實將這些字段包含在安全和驗證檢查中。如何使用SecurityComponent在CakePHP 2中創建手動輸入?
主要問題是我無法在其標籤外呈現單選按鈕。所以我自己像這樣渲染它們:
<div class="radio radio-inline">
<input id="genderMALE" type="radio" name="data[User][gender]" value="MALE"/>
<label for="genderMALE">Male</label>
</div>
<div class="radio radio-inline">
<input id="genderFEMALE" type="radio" name="data[User][gender]" value="FEMALE"/>
<label for="genderFEMALE">Female</label>
</div>
它本身完美地工作。然而FormHelper
沒有注意到他們,所以SecurityComponent
註冊這是篡改形式。阻止我的請求。
我試圖使用FormHelper
生成輸入,但無線電支持是有限的。 format
選項在此處不起作用,因爲:
單選按鈕不能使用這些設置控制輸入和標籤元素的順序。 - Cookbook
下一步,我找不到任何辦法來渲染一個普通的分離單選按鈕。我發現接受input
的唯一方法是通過忽略它在SecurityComponent
。
什麼是Cake的方法來解決這個問題?
更新14-09 9時16分
我當前修復/黑客將是普通的HTML創建自定義單選按鈕,如上所示。然後將這些無線電輸入的值鏈接到使用FormHelper
創建的輸入字段。使用CSS我可以隱藏這個輸入,允許它被JavaScript改變,而不是使用type="hidden"
。
使用此方法可能會發生任何危險/問題嗎?
旁註:最後這是一個造型問題。然而我不得不使用Bootstrap,只剩下2天時間來完成我的任務。而且我不想走寫自定義CSS/JS的路徑來實現這個功能。