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);

79 Comments

  1. canadian pharmacy online says:

    best canadian mail order pharmacies https://kertubs.mystrikingly.com/

    Incredible tons of wonderful facts.

  2. online-pharmacies0.yolasite.com says:

    cialis tablets australia https://online-pharmacies0.yolasite.com/

    You actually expressed it really well.

  3. canadian drugs says:

    canadian rx world pharmacy https://deiun.flazio.com/

    You revealed this very well.

  4. buy viagra 25mg says:

    global pharmacy canada https://kertyun.flazio.com/

    Wow lots of beneficial information!

  5. kerbnt.flazio.com says:

    cialis lowest price https://kerbnt.flazio.com/

    Awesome material. Many thanks!

  6. ime.nucialisonlinei.com says:

    buy cialis http://ime.nu/cialisonlinei.com

    Kudos, Awesome information!

  7. prescriptions from canada without says:

    canadian medications https://gewrt.usluga.me/

    Truly lots of valuable facts.

  8. https://canadian-pharmacy.webflow.io/ says:

    purchasing cialis on the internet https://canadian-pharmacy.webflow.io/

    Thanks, I appreciate it.

  9. https://site273035107.fo.team/ says:

    cialis without a doctor’s prescription https://site273035107.fo.team/

    Wow quite a lot of fantastic data.

  10. northwest pharmacy canada says:

    canadian prescription drugstore https://site656670376.fo.team/

    Amazing content. With thanks.

  11. https://kawsear.fwscheckout.com/ says:

    online cialis https://kawsear.fwscheckout.com/

    You suggested it really well!

  12. hertnsd.nethouse.ru says:

    tadalafil 20mg https://hertnsd.nethouse.ru/

    Great info, Cheers.

  13. canada online pharmacies says:

    buy viagra usa https://pharmacies.bigcartel.com/

    Incredible a lot of very good knowledge.

  14. https://kwersd.mystrikingly.com/ says:

    cialis 5 mg https://kwersd.mystrikingly.com/

    Thank you. Helpful information.

  15. https://kertvbs.webgarden.com/ says:

    online prescriptions without a doctor https://kertvbs.webgarden.com/

    Thanks! Fantastic information.

Leave a Reply