fuelPHP/validation

insert
fuel/app/config/config.php
'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を作成
?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で入力してください。',
);
?

fuel/app/classes/controller/origin.php
public function action_form()
{
	if(Input::post()){
		$val = Validation::forge();
		$val->add_field("user_name","username", "required|max_length[10]");
		$val->add_field("email", "email", "required|valid_email");
		$val->add_field("password", "password", "required|min_length[6]|max_length[12]");
		if($val->run() == TRUE){
			echo "true";
			DB::insert("bookmem")->set(array(
				"user_name" => Input::post("user_name"),
				"email" => Input::post("email"),
				"password" => Input::post("password")
			))
			->execute();
		} else {
			foreach($val->error() as $key => $value){
				echo $value->get_message();
				echo "br />";
			}
			exit;
		}
	}
	return View::forge("form");
}