Kohana ORMでモデルを検証する際に問題が発生しました。これは、ORM_Validation_Exceptionをスローするはずですが、そうではありません。メールアドレスを検証しようとしています。
Model_Emailaddress
public function rules()
{
return array(
'emailaddress' => array(
array(
'Valid::email'
),
),
);
}
Controller_Test
public function action_valid()
{
$email = ORM::factory('emailaddress');
$email->emailaddress = 'test';
try
{
$email->create();
}
catch(ORM_Validation_Exception $e)
{
echo Debug::dump($e->errors());
}
}
この例では、エラーのある配列を画面にダンプする必要がありますが、代わりに、通知なしに電子メールアドレスを保存するだけです。
'Valid ::email'を'not_empty'に変更すると、例外がスローされます。デバッグを行った後、Valid::emailがfalseを返すことを発見しました。
編集:一部の人々が述べたように、「Valid::email」を「email」に変更しても役に立ちません。また、emailメソッド内にexitを配置すると、スクリプトの実行が停止します。