inList() public static method

public static inList ( $value, $list )
Ejemplo n.º 1
0
 /**
  * testInList method
  *
  * @return void
  */
 public function testInList()
 {
     $this->assertTrue(Validation::inList('one', array('one', 'two')));
     $this->assertTrue(Validation::inList('two', array('one', 'two')));
     $this->assertFalse(Validation::inList('three', array('one', 'two')));
     $this->assertFalse(Validation::inList('1one', array(0, 1, 2, 3)));
     $this->assertFalse(Validation::inList('one', array(0, 1, 2, 3)));
     $this->assertFalse(Validation::inList('2', array(1, 2, 3)));
     $this->assertTrue(Validation::inList('2', array(1, 2, 3), false));
 }
Ejemplo n.º 2
0
 /**
  * testInList method
  *
  * @return void
  */
 public function testInList()
 {
     $this->assertTrue(Validation::inList('one', array('one', 'two')));
     $this->assertTrue(Validation::inList('two', array('one', 'two')));
     $this->assertFalse(Validation::inList('three', array('one', 'two')));
     $this->assertFalse(Validation::inList('1one', array(0, 1, 2, 3)));
     $this->assertFalse(Validation::inList('one', array(0, 1, 2, 3)));
     $this->assertTrue(Validation::inList('2', array(1, 2, 3)));
     $this->assertFalse(Validation::inList('2x', array(1, 2, 3)));
     $this->assertFalse(Validation::inList(2, array('1', '2x', '3')));
     $this->assertFalse(Validation::inList('One', array('one', 'two')));
     // No hexadecimal for numbers.
     $this->assertFalse(Validation::inList('0x7B', array('ABC', '123')));
     $this->assertFalse(Validation::inList('0x7B', array('ABC', 123)));
     // case insensitive
     $this->assertTrue(Validation::inList('one', array('One', 'Two'), true));
     $this->assertTrue(Validation::inList('Two', array('one', 'two'), true));
     $this->assertFalse(Validation::inList('three', array('one', 'two'), true));
 }
Ejemplo n.º 3
0
 /**
  * testInList method
  *
  * @return void
  */
 public function testInList()
 {
     $this->assertTrue(Validation::inList('one', array('one', 'two')));
     $this->assertTrue(Validation::inList('two', array('one', 'two')));
     $this->assertFalse(Validation::inList('three', array('one', 'two')));
     $this->assertFalse(Validation::inList('1one', array(0, 1, 2, 3)));
     $this->assertFalse(Validation::inList('one', array(0, 1, 2, 3)));
     $this->assertTrue(Validation::inList('2', array(1, 2, 3)));
     $this->assertFalse(Validation::inList('2x', array(1, 2, 3)));
     $this->assertFalse(Validation::inList(2, array('1', '2x', '3')));
     $this->assertFalse(Validation::inList('One', array('one', 'two')));
     // case insensitive
     $this->assertTrue(Validation::inList('one', array('One', 'Two'), true));
     $this->assertTrue(Validation::inList('Two', array('one', 'two'), true));
     $this->assertFalse(Validation::inList('three', array('one', 'two'), true));
 }
Ejemplo n.º 4
0
 /**
  * @testdox inList should return false to element not within the list
  */
 public function testInvalidInList()
 {
     $value = 'PHP';
     $list = array('Spaghetti', 'Framework');
     $this->assertFalse(Validation::inList($value, $list));
 }
Ejemplo n.º 5
0
 /**
  * testInList method
  *
  * @access public
  * @return void
  */
 function testInList()
 {
     $this->assertTrue(Validation::inList('one', array('one', 'two')));
     $this->assertTrue(Validation::inList('two', array('one', 'two')));
     $this->assertFalse(Validation::inList('three', array('one', 'two')));
 }
 /**
  * checkMatrixAnswerInList
  *
  * @param object &$model use model
  * @param string $answers answer value
  * @param int $list choice list ( choice key list)
  * @return bool
  */
 public function checkMatrixAnswerInList(&$model, $answers, $list)
 {
     $ret = true;
     foreach ($answers as $matrixRowId => $matrixColAns) {
         if (!Validation::inList(strval($matrixRowId), $list)) {
             $ret = false;
             $model->validationErrors['answer_value'][] = __d('registrations', 'Invalid choice');
         }
         $choiceIds = array_keys($matrixColAns);
         foreach ($choiceIds as $choiceId) {
             if ($choiceId != '' && !Validation::inList(strval($choiceId), $list)) {
                 $ret = false;
                 $model->validationErrors['answer_value'][] = __d('registrations', 'Invalid choice');
             }
         }
     }
     return $ret;
 }
 /**
  * checkMatrixAnswerInList
  *
  * @param array $question question
  * @param string $answers answer value
  * @param int $list choice list ( choice origin_id list)
  * @return array error message
  */
 public function checkMatrixAnswerInList($question, $answers, $list)
 {
     $errors = array();
     foreach ($answers as $matrixRowId => $matrixColAns) {
         if (!Validation::inList(strval($matrixRowId), $list)) {
             $errors[] = __d('questionnaires', 'Invalid choice');
         }
         $choiceIds = array_keys($matrixColAns);
         foreach ($choiceIds as $choiceId) {
             if ($choiceId != '' && !Validation::inList(strval($choiceId), $list)) {
                 $errors[] = __d('questionnaires', 'Invalid choice');
             }
         }
     }
     return $errors;
 }
Ejemplo n.º 8
0
 public function testInvalidInList()
 {
     $value = "PHP";
     $list = array("Spaghetti", "Framework");
     $this->assertFalse(Validation::inList($value, $list));
 }
 /**
  * answerValidation 登録内容の正当性
  *
  * @param object &$model use model
  * @param array $data Validation対象データ
  * @param array $question 登録データに対応する項目
  * @param array $allAnswers 入力された登録すべて
  * @return bool
  */
 public function answerChoiceValidation(&$model, $data, $question, $allAnswers)
 {
     if (!in_array($question['question_type'], $this->_choiceValidateType)) {
         return true;
     }
     if (!isset($model->data['RegistrationAnswer']['answer_values'])) {
         return true;
     }
     // 項目に設定されている選択肢を配列にまとめる
     $list = Hash::combine($question['RegistrationChoice'], '{n}.id', '{n}.key');
     $ret = true;
     // 選択された選択肢IDすべてについて調査する
     $choiceIds = array_keys($model->data['RegistrationAnswer']['answer_values']);
     foreach ($choiceIds as $choiceId) {
         // 選択されたIDは、ちゃんと用意されている選択肢の中のひとつであるか
         if ($choiceId != '' && !Validation::inList(strval($choiceId), $list)) {
             $ret = false;
             $model->validationErrors['answer_value'][] = __d('registrations', 'Invalid choice');
         }
         // チェックされている選択肢が「その他」の項目である場合は
         $choice = Hash::extract($question['RegistrationChoice'], '{n}[key=' . $choiceId . ']');
         if ($choice && $choice[0]['other_choice_type'] != RegistrationsComponent::OTHER_CHOICE_TYPE_NO_OTHER_FILED) {
             // 具体的なテキストが書かれていないといけない
             if (empty($model->data['RegistrationAnswer']['other_answer_value'])) {
                 $ret = false;
                 $model->validationErrors['answer_value'][] = __d('registrations', 'Please enter something, if you chose the other item');
             }
         }
     }
     return $ret;
 }
Ejemplo n.º 10
0
 /**
  * notInListFromConfigure
  * jpn: Configure::write()で設定されているarray()からnotInListを生成
  *
  */
 public function notInListFromConfigure(Model $model, $field, $listname)
 {
     $value = array_shift($field);
     $list = Configure::read($listname);
     if ($list !== array_values($list)) {
         // jpn: selectのoptionsにそのまま設置するような連想配列を想定
         $list = array_keys($list);
     }
     foreach ($list as $k => $v) {
         $list[$k] = (string) $v;
     }
     return !Validation::inList($value, $list);
 }