symfony2 中的复选框验证
Posted
技术标签:
【中文标题】symfony2 中的复选框验证【英文标题】:Checkbox validation in symfony2 【发布时间】:2016-04-05 04:29:16 【问题描述】:我正在 symfony2 中创建一个注册表单。我需要验证这个复选框,如果用户没有选中这个复选框,那么应该有一个客户端验证。我也使用了客户端验证,但它没有验证它。 这是我的注册表单类型。
$builder->add('check', 'checkbox', array(
'label' => 'I agree the terms and conditions',
'required' => false,
'mapped' => false,
'value'=>false,
'translation_domain' => 'FOSUserBundle'));
这是我的客户端 Java 脚本
var check = $("#fos_user_registration_form_check").val();
if(check!=1)
$("#msgCheck").html('Check the Box').css('color','red').show();
$error=true;
else
$("#msgCheck").hide();
$error=false;
【问题讨论】:
你为什么不直接设置'required' => true
?让浏览器处理它?您将拥有 HTML5 验证以及服务器端。
【参考方案1】:
你能测试一下吗
if($("#fos_user_registration_form_check").is(':checked'))
$("#msgCheck").html('Check the Box').css('color','red').show();
$error=true;
else
$("#msgCheck").hide();
$error=false;
【讨论】:
【参考方案2】:我要在这个表单上完成许多客户端验证,所以我所做的是,我在开始时将错误声明为 false,然后以类似的方式进行所有验证。否则错误在许多情况下都会发生,所以这是一个更好的解决方案。
$error=false;
if($("#fos_user_registration_form_check").is(':checked'))
$("#msgCheck").html('Check the Box').css('color','red').show();
$error=true;
else
$("#msgCheck").hide();
【讨论】:
以上是关于symfony2 中的复选框验证的主要内容,如果未能解决你的问题,请参考以下文章