使用html5和CANCEL按钮进行Symfony2表单验证

我在Symfony2上有一个联系表格,我把一些验证器作为电子邮件,minLength等.
所有这些字段也设置为notBlank.

因此,HTML5也验证了这些字段(对于电子邮件而不是空白),这对我来说很好.

我有一个提交按钮:

<input type="submit" value="Submit"/>

问题是我有一个提交按钮,它是一个取消按钮:

<input name="cancel" type="submit" value="Cancel" />

使用此按钮,在我的控制器中,我正在进行重定向

if( $request->get('cancel') == 'Cancel' )
    return  $this->redirect($this->generateUrl('SciForumVersion2Bundle_homepage'));

现在,由于HTML5验证,我无法重定向,因为例如字段为空.

为了重新获得这个,我找到了两个解决方案,但我不喜欢它们:

>禁用HTML 5验证:

<form novalidate>

>使用JavaScript

但正如我所说,我不喜欢这些方法,我相信有一些很好的Symfony方法可以解决这个问题.

任何的想法?非常感谢你.

解决方法

我恢复我的评论:)

在处理表单(HTML5与否)以及您想要退出时,您无需提交和验证任何数据
您只需要输入一个简单的href链接来更改页面.使用您最喜欢的CSS样式具有相同的外观

提示:当用户更改输入值时,您可以收听javascript事件“onbeforeunload”.它提醒用户他将退出页面

希望它有所帮助!

相关文章

HTML5和CSS3实现3D展示商品信息的代码
利用HTML5中的Canvas绘制笑脸的代码
Html5剪切板功能的实现
如何通过HTML5触摸事件实现移动端简易进度条
Html5移动端获奖无缝滚动动画实现
关于HTML5和CSS3实现机器猫的代码