kohanaのテスト12-7・・・エラーメッセージを改善する
ユーザー登録ページのエラーメッセージが気に入らないので改善しました。'not_empty' チェックの第二引数を指定してやるとエラーメッセージを自在に表現できるようです。
コントローラの修正
・kohana/application/classes/controller/test12/register.php の修正部分
メールアドレスを空で登録するとルールチェックがパスしてしまうので、not_empty のチェックを追加しています。
if (isset($_POST['user_login'])) { $post = Validation::factory($_POST) ->rule('user_login', 'not_empty', array(':value', 'ユーザー名')) ->rule('user_login', 'max_length', array(':value', 24)) ->rule('user_login', 'regex', array(':value', '/^[a-z0-9_.]++$/iD')) ->rule('user_login', array($user, 'unique_username')) ->rule('user_email', 'not_empty', array(':value', 'メールアドレス')) ->rule('user_email', 'max_length', array(':value', 60)) ->rule('user_email', 'email') ->rule('user_email', 'email_domain') ->rule('user_email', array($user, 'unique_email'));
$errors = $post->errors('test12');
メッセージファイル
・kohana/application/messages/test12.php
<?php defined('SYSPATH') or die('No direct script access.'); return array( 'email' => 'メールアドレスの形式が不適切です', 'email_domain' => 'メールアドレスのドメイン名が不適切です', 'matches' => '確認入力が間違っています', 'min_length' => ':field は :param2 文字以上にして下さい', 'max_length' => ':field は :param2 文字以下にして下さい', 'not_empty' => ':param2 を書いて下さい', 'regex' => ':field が規定の形式になっていません', 'url' => 'URLの形式が不適切です', 'unique_username' => 'そのユーザー名は既に使われています', 'unique_email' => 'そのメールアドレスは既に使われています', );