2015-12-15 2 views
0

Как создать проверки для флажок следует выбрать в cakephp 3.0Флажок проверки в CakePHP 3.x

cakephp 2.x В Валидизация как:

'accept_terms' => array(
     'rule' => array('comparison', '!=', 0), 
     'required' => true, 
     'message' => 'You must agree to the terms', 
     'on' => 'create', 
    ), 

Я хочу, чтобы преобразовать его в cakephp 3.x.

+0

Вы читали официальные документы на [проверка] (http://book.cakephp.org/3.0/en/core-libraries/validation.html)? – drmonkeyninja

ответ

0

Нет специального правила для проверки флажка. То, что вы хотите сделать, это проверить, что поле notEmpty на create: -

$validator 
    ->requirePresence('accept_terms') 
    ->notEmpty('accept_terms', 'You must agree to the terms', 'create'); 

Это можно найти в official docs on Validation. Полный список доступных правил проверки может быть found in the API docs.

0

Вы можете сделать с помощью специального метода, чтобы подтвердить свой флажок. Мне это нравится. Это нормально для меня.

public function validationBooking(Validator $validator) 
    { 

     $validator->add('accept_terms', 'custom', [ 
      'rule' => [$this, 'AcceptTerm'], 
      'message' => 'You must agreed Term and Condition' 
     ]); 
     return $validator; 
    } 
     //make function 
     public function AcceptTerm($value,$context){ 
       if($context['data']['accept_terms']==1) 
        return true; 
       else 
        return false; 
      } 
Смежные вопросы