如何解决Symfony表单渲染显示错误太早
我正在使用Symfony创建表单。在表单标签和用户输入数据的小部件之间,我有一个按钮,当按下该按钮时会显示文本提示,以帮助指导用户。这可以正常工作,当用户单击按钮时,它会正确显示文本,但是也会显示该字段的错误消息,表明该字段不能为空。在提交表单之前,我不需要显示错误,因此似乎显示得太早了。非常感谢您的任何建议。
这是模板的相关部分:
{{ form_start(form) }}
{{ form_label(form.field1,'My Custom Task Label') }}
<button onclick="myFunction()">Click to display prompts</button>
<div id="myDIV" style = "display:none">
This is a helpful prompt.
</div>
{{ form_widget(form.field1) }}
<script>
function myFunction() {
var x = document.getElementById("myDIV");
if (x.style.display === "none") {
x.style.display = "block";
} else {
x.style.display = "none";
}
}
</script>
{{ form_end(form) }}
解决方法
按钮默认是提交按钮。您的按钮未指示任何类型,因此为提交类型。解决方案:将类型设置为“按钮”:
<button type="button" onclick="myFunction()">Click to display prompts</button>
否则,它正在发送表单/尝试发送表单,显然捕获了错误/必填字段,因此显示了错误。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。