1

我在使用 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> 

我阅读了有关验证和表单的文档,但我并没有真正理解它是关于什么的。

我有两个问题

  1. 帖子值应该放在哪里,我说的是表单中的动作属性。
  2. 我如何验证这个简单的联系表格。

如果你们在这里向我展示或链接到如何验证这个简单的表格,最好的办法是。

谢谢

4

1 回答 1

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')){
        ...
    }
}

只需使用您自己的代码进行自定义。

于 2013-10-29T11:12:15.620 回答