Правило валидации не работает в cakePHP - PullRequest
0 голосов
/ 28 сентября 2011

У меня есть страница регистрации, и на этой странице регистрации пользователь должен будет заполнить некоторые проценты, значения интересов вызываются из модели с именем Interest.php, все значения извлекаются и сохраняются, как и ожидалось.

Отношение к модели пользователя:

var $hasAndBelongsToMany = array(
        'Interest' => array(
            'className' => 'Interest',
            'joinTable' => 'users_interests',
            'foreignKey' => 'user_id',
            'associationForeignKey' => 'interest_id',
            'unique' => true,
            'conditions' => '',
            'fields' => '',
            'order' => '',
            'limit' => '',
            'offset' => '',
            'finderQuery' => '',
            'deleteQuery' => '',
            'insertQuery' => ''
        )

Всякий раз, когда я добавляю правило проверки в Interest.php, рядом с флажками появляется маленькая обязательная звездочка, но она вообще не проверяется

<label for="InterestInterestId">Interests</label>
<input type="hidden" value="" name="data[Interest][interest_id]">
<div class="checkbox">
<input id="InterestInterestId8" type="checkbox" value="8" name="data[Interest][interest_id][]">
<label for="InterestInterestId8">Interest 1</label>
</div>
<div class="checkbox">
<input id="InterestInterestId1" type="checkbox" value="1" name="data[Interest][interest_id][]">
<label for="InterestInterestId1">Interest2</label>
</div>

, на мой взгляд, я называю несколько флажков следующим образом:

 echo $form->input('Interest.interest_id', array('label' => __l('Interests'), 'multiple' => 'checkbox'));

Это мое правило проверки в интересах. Php

$this->validate = array(

            'interest_id' => array(
                'rule' => array(
                    'equalTo',
                    '1'
                ) ,
                'message' => __l('Please select some interests')
            )
        );

Я что-то не так делаю здесь,или что-то упустил, любая помощь будет оценена !!!!

1 Ответ

0 голосов
/ 28 сентября 2011

Нашел ответ по этой ссылке Проверка формы HABTM в CakePHP предоставлена ​​bfavaretto

Проблема была в этом $this->User->Interest->set($this->data);

Я забыл добавить его

...