2016-12-09 1 views
0

Cakephp를 사용하고 있습니다. 2.5.4음수를 방지하기 위해 유효성 검사 규칙을 만드는 방법은 무엇입니까?

음수를 입력 할 수 없도록 표의 입력 내용의 유효성을 검사하고 싶습니다. JavaScript를 사용하여 수행 할 수있는 작업을 알고 있지만 학습을 위해 유효성 검사 기능을 구현하고이를 모델의 규칙으로 적용하고자합니다. 예를 들어, species라는 테이블에 price라는 필드가 있습니다. 모델 내에서 내가 가지고있는 종 :

var $validate = array(

     'precio_kg' => array(

      'notEmpty' => array(

        'rule' => 'notEmpty', 

        'message' => 'Este campo no puede ser vacío' 

         ), 

      'checkPositivo' => array(

        'rule' => array('checkPositivo'), 

        'message'=>'The value can not be negative' 

          ) 

        ) 

         ); 

그런 모델에 해당 규칙의 기능을 쓰려면 어떻게해야할까요?

이미 감사드립니다.

답변

0

모델에 add your own validation methods 수 있습니다.

'rule' => array('checkPositive'), // in the validation array 

public function checkPositive($check) { 
    return bccomp($check['precio_kg'], 0); 
} 

0을 허용하려는 경우이 설정을 조정할 수 있습니다.

bccomp docs

+0

이 매우 법안을 주셔서 감사합니다! 그것은 완벽하게 작동합니다! – Lucas

0

당신은 자연 숫자를 포함하여 핵심 검증 방법을 사용할 수 있습니다

public $validate = array(
    'precio_kg' => array(
     'notEmpty' => array(
      'rule' => 'notEmpty', 
      'message' => 'Este campo no puede estar vacío.' 
     ), 
     'checkPositivo' => array(
      'rule' => 'naturalNumber', 
      'message' => 'Este número no puede ser negativo.' 
     ) 
    ) 
); 
관련 문제