FuelPHPのドキュメントにも例がありますが、FuelPHPのValidationでuniqueチェックを作ってみました。
本家の例ではValidationを拡張する例として記載があります。

http://fuelphp.com/docs/classes/validation/validation.html

 

但し、DBへのInsert時は上記の拡張例で問題ないのですが、Update時は、
更新するレコード自身を含めてしまうとuniqueチェックで引っかかってしまうため、除外する必要があります。
その処理を公式ドキュメントの例を参考にコードを追加してみました。

また、コアクラスを拡張しているため、/fuel/app/bootstrap.phpを編集する必要があります。

 

Autoloader::add_classes(array(
    // ここにオーバーライドしたいクラスを追加します
    // Example: 'View' => APPPATH.'classes/view.php',
    'Validation' => APPPATH.'classes/validation.php',
));

Modelのコード使用例は以下の通りです。

	public static function validate($id=null)
	{
		
		$val = \Validation::forge();
		$val->add_field('group_code', 'グループコード', 'required|min_length[1]|max_length[4]')
			->add_rule('unique', self::$_table_name . '.group_code', $id);

		return $val;
	}

Controllerのコード例は以下の通りです。

■Insert例

	$val = Model_Group::validate();

■Update例

	$val = Model_Group::validate($post->id);

135 Comments

  1. 3legally says:

    2versatile

  2. gay web chat rooms says:

    gay phone chat line free trial https://newgaychat.com/

  3. gay teens chat says:

    live gay webcam chat rooms https://gaychatcams.net/

  4. ivermectin tablets says:

    stromectol online pharmacy https://web904.com/stromectol-buy/

    With thanks! Great stuff!

  5. 500px.compphraspilliti says:

    Viagra pills 500px.com/p/phraspilliti

    Terrific content. With thanks!

  6. legitimate canadian mail order pharmacies says:

    northwest pharmacies https://500px.com/p/bersavahi/?view=groups

    Thanks a lot, A good amount of data.

  7. legitimate canadian mail order pharmacies says:

    canadian pharmacies online https://slides.com/canadianpharmaceuticalsonline

    Appreciate it, A good amount of forum posts.

  8. stromectol stock says:

    stromectol canada https://challonge.com/esapenti

    With thanks! An abundance of forum posts!

  9. challonge.comgotsembpertvil says:

    Interactions for viagra https://challonge.com/gotsembpertvil

    You actually stated that perfectly.

  10. dsdgbvda.zombeek.cz says:

    Viagra vs viagra https://dsdgbvda.zombeek.cz/

    You explained that very well!

  11. how much does stromectol cost says:

    ivermectin tablets https://inflavnena.zombeek.cz/

    Information clearly taken!.

  12. canadian pharmacys says:

    canadian prescription drugstore https://moaamein.nacda.com/profile/422018/0

    Amazing many of fantastic info.

Leave a Reply