IPアドレスが一意であることを確認するために、CakePHPのモデルに検証ルールを追加しようとしています。問題は、IP アドレスを unsigned int としてデータベースに保存しているのに、ユーザーがそれを文字列として入力していることです。これを行うには、IP アドレスを保存される int 値に変更する beforeSave 関数を使用しています。beforeSave 関数の後に isUnique ルールを実行する方法はありますか? 現在、私の検証ルールは次のようになっています。
public $validate = array(
'ip_address' => array(
'notEmpty' => array(
'rule' => 'notEmpty',
'message' => 'You must enter an IP address'
),
'unique' => array(
'rule' => 'isUnique',
'required' => 'create',
'message' => 'This IP address already exists'
)
)
);