FuelphpでValidationクラスを使用し、エラーを出力した際にエラーメッセージを日本語で出力する方法をメモします。
最初の設定では英語で表示されるので。
エラーメッセージは日本語で出力することが多いと思うので、最初に設定してると実装しやすくなると思います。
また、エラーメッセージを個別に設定して、設定ファイルの内容を上書きする方法をメモします。
■ 日本語のエラーメッセージを設定
設定ファイルで日本語のファイルを読み込むように設定します。
「fuel/app/config/config.php」の「language」の箇所を「ja」に変更します。
/**
* Localization & internationalization settings
*/
'language' => 'ja', // Default language
'language_fallback' => 'en', // Fallback language when file isn't available for default language
'locale' => 'ja_JP.utf8', // PHP set_locale() setting, null to not set
'encoding' => 'UTF-8',
日本語のエラーメッセージファイルを設定します。
「fuel/app/lang/ja/validation.php」を作成し、日本語のエラーメッセージを記述します。
※エラーメッセージは出力したい内容に変更してOKです。
<?php
return array(
'required' => ':label は必須入力です。',
'min_length' => ':label は、:param:1 文字以上で入力して下さい。',
'max_length' => ':label は、:param:1 文字以下で入力して下さい。',
'exact_length' => ':label は、:param:1 文字で入力して下さい。',
'match_value' => ':label は、使用できない文字が含まれています。使用可能な文字 [:param:1] ',
'match_pattern' => ':label は、:param:2で入力して下さい。',
'match_field' => ':label は、:param:1 と異なっています。',
'valid_email' => ':label は メールの形式で入力して下さい。',
'valid_emails' => ':label に、有効でないメールアドレスが含まれています。',
'valid_url' => ':label は、有効なURLではありません。',
'valid_ip' => ':label は、有効なIPアドレスではありません。',
'numeric_min' => ':label には、:param:1 より大きい数値を入力して下さい。',
'numeric_max' => ':label には、:param:1 より小さい数値を入力して下さい。',
'valid_string' => ':labelは:param:2で入力してください。',
);
上記の設定が完了したら、設定したエラーメッセージで出力されます。
個別に設定する場合は「set_message()」を使用して設定します。
$validation = \Validation::forge();
$validation->set_message('required', ':label は必ず入力してください。');
$validation->add('name', 'name')
->add_rule('trim')
->add_rule('required');
エラーメッセージが「set_message()」で指定した内容で出力されます。