我在Symfony 2上遇到联系表单时遇到问题。
简单表格
<form id="contact-form" method="post" action="">
<label for="name">Name: </label>
<input type="text" name="name" id="name" class="input" />
<label for="subject">Subject: </label>
<input type="text" name="subject" id="subject" class="input" />
<label for="text">Text: </label>
<textarea name="text" id="text" class="input"></textarea>
</form>
我阅读了有关验证和表单的文档,但我并不真正了解它的含义。
我有两个问题
如果你们在这里向我展示或链接到如何验证这个简单的表格,那将是最好的。
由于
答案 0 :(得分:2)
您可以将操作设置为路由中的任何路径。示例<form action="{{ path(...) }}">
。从路径开始,将重定向到您的控制器。在您的控制器中,您可以验证表单。我会举个例子。
<form id="contact-form" method="post" action="{{ path('form_contact') }}">
<label for="name">Name: </label>
<input type="text" name="name" id="name" class="input" />
<label for="subject">Subject: </label>
<input type="text" name="subject" id="subject" class="input" />
<label for="text">Text: </label>
<textarea name="text" id="text" class="input"></textarea>
</form>
从这里开始,此表单将通过路由
// in your routing.yml
form_contact:
pattern: contact
defaults:
_controller: YourNewBundle:Test:contact
现在,让我们转到控制器部分
// TestController.php
public function contact(){
$request = $this->getRequest();
if ($request->query->has('name') || $request->query->has('subject') || $request->query->has('text')){
...
}
}
只需使用您自己的代码进行自定义。