2

我有一个应该接受整数值的字段,它与另一个字段的总和应该是 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;
        }
    }
4

1 回答 1

2

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

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

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

Validation::numeric(array('key' => 'value'));
于 2012-09-05T13:09:00.413 回答