2015-01-31 103 views
0

我有一個(希望)簡單的問題:如何創建Symfony2的一個簡單的HTML表單,而無需使用formbuilder

我想在sympony2項目中使用一個簡單的HTML表單。問題是,注意是通過表單發送的。

發送表單後的網址是: localhost:8888/de/search_art?

你看......有沒有字符串後? !

的形式如下:

<form class="navbar-form" role="search" method="get" action="{{ path('func_search_art') }}"> 
      <input type="text"> 
      <button type="submit" class="btn btn-default">Send</button> 
</form> 

這是我的路由:

func_search_art: 
    path:  /search_art/ 
    defaults: { _controller: FuncSearchBundle:Search:SearchArt } 

我不希望它在控制器內做一些事情,因爲它是在導航欄和爲此,它必須出現在每個頁面中。我不想在頁面的每個控制器中爲簡單的導航欄搜索字段初始化表單變量。

是否有可能在symfony2中創建一個像這樣的簡單表單而不使用表單構建器等等......?

格爾茨邁克爾

回答

1

是的,你可以放心地讓您的形式寫在樹枝在你提出它的表格。無需在每個控制器中創建表單構建器並將表單發送給樹枝。唯一需要構建它的地方是SearchController中的SearchArtAction方法,其中您具有此表單的處理功能。

此外,你需要給你的文本輸入一個名稱。

<form class="navbar-form" role="search" method="get" action="{{ path('func_search_art') }}"> 
     <input type="text" name="q"> 
     <button type="submit" class="btn btn-default">Send</button> 
</form> 
1

因爲您的輸入缺少名稱屬性,這是用於創建發佈數據/查詢字符串的相關屬性。

0

你不能給它:「CSRF令牌無效,請嘗試重新提交表格」。不管它在沒有它的情況下實際上工作。由於某些原因,Symfony將這些表格序列化。我特別討厭我需要表單對象來使用表單的事實,在很多情況下,我發現它是過度的。你的$ form-> isValid也會失敗,但$ form-> isSubmitted()不會。我討厭表單對象的原因之一是使用EntityType填充下拉列表是非常繁瑣的,而不是讓簡單的symfony設法使該過程成爲一個該死的惡夢。

相關問題