2015-12-31 6 views
0

Я создаю регистрационную форму в формате symfony2. Мне нужно проверить этот флажок. Если пользователь не установил этот флажок, то должна быть проверка на стороне клиента. Я также использовал проверку на стороне клиента, но он не проверяет ее.
Это мой тип формы регистрации.Проверка флажка в 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; 
        } 
+1

Почему вы не просто установили '' required '=> true'? и пусть браузер справится с этим? У вас будет проверка HTML5, а также на сервер. – DevDonkey

ответ

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; 
} 
+0

этот код работает иногда. – Ananddon

0

У меня было много клиентов валидаций сделать в этой форме, так что я сделал то, что, Я объявил ошибку как 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(); 

     }