CakePHP如何使用自定义验证功能中的内置验证规则?

时间:2012-09-05 12:33:39

标签: cakephp cakephp-1.3

我有一个应该接受整数值的字段,它与另一个字段的总和应该是100。 为了做到这一点,我写了这样的自定义方法。

'share' => array(
    'share' => array(
        'rule' => array('share'),
        'message' => 'This field is required.',
        'last' => true, 
    ),

这里我想使用构建的验证方法来检查天气这个字段是数字。

function share() {
        if( $this->data['Model']['commission_type'] == "usage_based" ) {
            // if($this->data['SmeCommission']['share']) { // Want to check this is a valid integer How can I built in Numeric validation here
                // Next validation to sum is equal to 100 with another field in the data.
            // }
        } else { 
            return true;
        }
    }

1 个答案:

答案 0 :(得分:2)

对该字段使用多个规则。如下所示,第一个规则检查值是否为数字,然后检查检查总和的自定义规则。

'share' => array(
    'numeric' => array(
        'rule' => 'numeric'
    ),
    'share' => array(
        'rule' => array('share'),
   )
),

如果您确实想直接使用验证规则,可以这样做:

Validation::numeric(array('key' => 'value'));