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 に答える