【问题标题】:Checkbox validation in symfony2symfony2 中的复选框验证
【发布时间】: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 验证以及服务器端。

标签: php jquery validation symfony checkbox


【解决方案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();
    
            }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-08-29
      • 1970-01-01
      • 1970-01-01
      • 2014-02-08
      相关资源
      最近更新 更多