Templates 我的自定义小枝表单是否无错误且安全?

Templates 我的自定义小枝表单是否无错误且安全?,templates,symfony,twig,Templates,Symfony,Twig,基本上,我正在显示一个模板,该模板显示从数据库读取的一些数据。允许用户检查表行,然后单击“删除”将其从数据库中删除。为了做到这一点,我在一张桌子周围写了一个自定义表单。这张表格有效吗?我遗漏了什么吗?我这么问是因为我自己做的,不确定自己是否犯了错误 谢谢 <form action="{{ path('main_referral_capture_manage_physicians') }}" method="post"> <table> <

基本上,我正在显示一个模板,该模板显示从数据库读取的一些数据。允许用户检查表行,然后单击“删除”将其从数据库中删除。为了做到这一点,我在一张桌子周围写了一个自定义表单。这张表格有效吗?我遗漏了什么吗?我这么问是因为我自己做的,不确定自己是否犯了错误

谢谢

<form action="{{ path('main_referral_capture_manage_physicians') }}" method="post">           
  <table>
  <thead>
    <tr>
      <th width="20">Select</th>
      <th width="200">Referring Physician</th>
      <th width="150">NPI Number</th>
      <th width="150">Practice</th>
      <th width="150">Location</th>
      <th width="150">Phone</th>
      <th width="150">Fax</th>
      <th width="150">Email Address</th>
    </tr>
  </thead>
  <tbody>
      {% for physician in physicians %}
    <tr>
      <td><input name="chkphysician[]" type="checkbox" value="{{physician.id}}" /></td>
      <td>{{ physician.physicianFirstName }} {{ physician.physicianLastName }}</td>
      <td>{{ physician.physicianNpi }}</td>
      <td>{{ physician.physicianPracticeName }}</td>
      <td>{{ physician.physicianLocationName }}</td>
      <td>{{ physician.physicianPhone }}</td>
      <td>{{ physician.physicianFax }}</td>
      <td>{{ physician.physicianEmail }}</td>
    </tr>
    {% endfor %}
  </tbody>
</table>
<input type="submit" value="Remove" />          
</form>

挑选
转诊医师
NPI编号
实践
位置
电话
传真
电子邮件地址
{医师中医师的百分比%}
{{medical.physicianFirstName}{{medical.physicianLastName}}
{{内科医生.physicianNpi}
{{内科医生.physicianPracticeName}
{{medicine.physicianLocationName}
{{内科医生.医生电话}
{{内科医生.医生传真}
{{medicine.physicianEmail}
{%endfor%}

我看不出您的细枝表单存在任何固有问题。要验证细枝表单,可以运行lint命令:

php app/console twig:lint @SomeBundleName

从面向对象的角度来看,我看到您的命名有点冗余。您已经知道您在Medical对象上的名称,那么为什么要在属性名称前加上Medical,即physician电子邮件、physician NPI等?这一点很好。我会解决这个问题。通过如何命名复选框,您将使处理数据变得比需要的更困难。我会称之为“医生ID”,或者简称为“ID”。然后在控制器中,请求将包含用户要删除的ID数组(如果选中1个或多个复选框)。