numeric() public static method

public static numeric ( $value )
コード例 #1
0
 /**
  * answerValidation 登録内容の正当性
  *
  * @param object &$model use model
  * @param array $data Validation対象データ
  * @param array $question 登録データに対応する項目
  * @param array $allAnswers 入力された登録すべて
  * @return bool
  */
 public function answerTextValidation(&$model, $data, $question, $allAnswers)
 {
     if (!in_array($question['question_type'], $this->_textValidateType)) {
         return true;
     }
     $ret = true;
     // 数値型登録を望まれている場合
     if ($question['question_type_option'] == RegistrationsComponent::TYPE_OPTION_NUMERIC) {
         if (!Validation::numeric($data['answer_value'])) {
             $ret = false;
             $model->validationErrors['answer_value'][] = __d('registrations', 'Number required');
         }
         if ($question['is_range'] == RegistrationsComponent::USES_USE) {
             $rangeRes = Validation::range($data['answer_value'], intval($question['min']), intval($question['max']));
             if (!$rangeRes) {
                 $ret = false;
                 $model->validationErrors['answer_value'][] = sprintf(__d('registrations', 'Please enter the answer between %s and %s.'), $question['min'], $question['max']);
             }
         }
     } else {
         if ($question['is_range'] == RegistrationsComponent::USES_USE) {
             if (!Validation::minLength($data['answer_value'], intval($question['min'])) || !Validation::maxLength($data['answer_value'], intval($question['max']))) {
                 $ret = false;
                 $model->validationErrors['answer_value'][] = sprintf(__d('registrations', 'Please enter the answer between %s letters and %s letters.'), $question['min'], $question['max']);
             }
         }
     }
     return $ret;
 }
コード例 #2
0
 /**
  * checkNumericType
  *
  * @param array $question question
  * @param string $answer answer value
  * @return array error message
  */
 public function checkNumericType($question, $answer)
 {
     $errors = array();
     // 数値タイプの場合、数値型であるか
     // 下限上限に引っかかってないか
     if ($question['question_type_option'] == QuestionnairesComponent::TYPE_OPTION_NUMERIC) {
         $chk = Validation::numeric($answer);
         if (!$chk) {
             $errors[] = __d('questionnaires', 'Number required');
         }
     }
     return $errors;
 }
コード例 #3
0
ファイル: ValidationTest.php プロジェクト: alvaroziqar/galei
 /**
  * testNumeric method
  *
  * @return void
  */
 public function testNumeric()
 {
     $this->assertFalse(Validation::numeric('teststring'));
     $this->assertFalse(Validation::numeric('1.1test'));
     $this->assertFalse(Validation::numeric('2test'));
     $this->assertTrue(Validation::numeric('2'));
     $this->assertTrue(Validation::numeric(2));
     $this->assertTrue(Validation::numeric(2.2));
     $this->assertTrue(Validation::numeric('2.2'));
 }
コード例 #4
0
 /**
  * @testdox numeric should return false to invalid numbers
  */
 public function testInvalidNumeric()
 {
     $value = '+-42.0asd53e25';
     $this->assertFalse(Validation::numeric($value));
 }
コード例 #5
0
 /**
  * __checkMinMaxNumeric
  * min and max is require both value
  *
  * @param object &$model use model
  * @param bool $check post data
  * @return bool
  */
 private function __checkMinMaxNumeric(&$model, $check)
 {
     if ($model->data['QuestionnaireQuestion']['question_type_option'] == QuestionnairesComponent::TYPE_OPTION_NUMERIC) {
         if (!Validation::numeric($model->data['QuestionnaireQuestion']['min'])) {
             return false;
         }
         if (!Validation::numeric($model->data['QuestionnaireQuestion']['max'])) {
             return false;
         }
     }
     return true;
 }
コード例 #6
0
ファイル: CommonTestCase.php プロジェクト: gourmet/common
 /**
  *
  *
  * @param integer|string $check
  * @param string $type
  * @return void
  */
 public function assertId($check, $type = 'uuid')
 {
     switch ($type) {
         case 'numeric':
             $check = Validation::numeric($check);
             break;
         default:
             $check = Validation::uuid($check);
             $type = strtoupper($type);
     }
     if (!$check) {
         parent::fail("Failed asserting that '{$check}' is a valid {$type} primary key.");
     }
     $this->addToAssertionCount(1);
 }
コード例 #7
0
 /**
  * formatNumeric
  * jpn: AdditionalValidationPatternsBehavior用にemptyのときはtrue
  *
  */
 public function formatNumeric(Model $model, $field)
 {
     $value = array_shift($field);
     if (!Validation::notEmpty($value)) {
         return true;
     }
     return Validation::numeric($value);
 }