2016-12-09 5 views
0

私はCakephpを使用しています。2.5.4負の数を防ぐための検証ルールの作成方法は?

テーブル内のフィールドの入力を検証して、負の数を入力できないようにしたいと考えています。 私はJavaScriptを使って何ができるのか知っていますが、学習目的のために、検証機能を実現して、それをモデルのルールとして適用したいと思います。 たとえば、priceというフィールドを持つspeciesという名前のテーブルがあります。モデル内で私は持っている種:

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); 
} 

ゼロを許可する場合は、これを調整できます。

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.' 
     ) 
    ) 
); 
関連する問題