如何使用submit()函数来处理表单提交
编辑本页如何使用submit()函数来处理表单提交
推荐的方法处理Symfony形式ob娱乐下载就是使用handleRequest ()方法来检测表单何时已提交。但是,您也可以使用提交()方法来更好地控制何时提交表单以及传递给表单的数据:
12 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
使用ob娱乐下载\组件\HttpFoundation\请求;使用ob娱乐下载\组件\HttpFoundation\响应;/ /……公共函数新(请求$请求):响应{$任务=新任务();$形式=$这->createForm (TaskType::类,$任务);如果($请求->isMethod (“职位”)) {$形式->提交($请求->请求->get ($形式->getName ()));如果($形式->isSubmitted () & &$形式->isValid ()) {//执行一些动作…返回$这->redirectToRoute (“task_success”);}}返回$这->renderForm (“任务/ new.html.twig”, (“形式”= >$形式]);}
属性提交的字段列表提交()
方法必须与表单类定义的字段相同。否则,你会看到一个表单验证错误:
12 3 4 5 6 7 8 9 10 11 12 13 14
公共函数新(请求$请求):响应{/ /……如果($请求->isMethod (“职位”)) {// '$json'表示React/Angular/Vue发送的负载数据//需要合并参数以提交所有表单字段$形式->提交(array_merge ($json,$请求->请求->所有()));/ /……}/ /……}
提示
当通过“PATCH”请求提交表单时,您可能只想更新几个已提交的字段。要实现这一点,可以将可选的第二个布尔参数传递给提交()
.通过假
将删除表单对象中任何缺失的字段。否则,缺失的字段将被设置为零
.
谨慎
当第二个参数clearMissing美元
是假
,就像“PATCH”方法一样,验证将只应用于提交的字段。如果你需要验证所有的底层数据,手动添加必要的字段,这样它们就被验证了:
1 2
// 'email'和'username'被手动添加以强制验证$形式->提交(array_merge ([“电子邮件”= >零,“用户名”= >零),$请求->请求->所有()),假);
此工作,包括代码示例,是根据创作共用BY-SA 3.0许可证。