EC-CUBE 3系でのDB(テーブル)に入っている値の存在有無の判定する為のvalidation方法について
EC-CUBE 3系で、管理者登録する際に、
Memberテーブルの中で親子関係を付けて登録したいと思い
parent_id(親となるmember_idを入力)というフォームを別途追加しました。
parent_idに、member_idを入力するのですが、
登録する際に、member_idがmemberテーブルに存在しているか
チェックをし無いといけない為、
validationをtypeに記載しようとしましたが、
リファレンスをみても、テーブルの値の存在有無のvalidationの書き方が見つかりませんでした。
ご存知の方ご教授お願い致します。
※ また、特定の権限(MemberテーブルのAuthority)
が選ばれたのみ上記のvalidationチェックを行う方法も
ご存知であれば、お願い致します。
Eccube\Form\Type\Admin\MemberType.php
->add('parent_id', 'text', array( 'label' => '親MemberID', 'required' => false, 'constraints' => array( new Assert\Type(array('type' => 'numeric')), ), ))
調べると下記のようにEntityに記載して
直接、ターブル内を検索してvalidationをする方法もあるようですが、
存在有無の記述方法が見つかりませんでした。
Eccube\Entity\Member.php
public static function loadValidatorMetadata(ClassMetadata $metadata) { $metadata->addConstraint(new UniqueEntity(array( 'fields' => 'login_id', 'message' => '既に利用されているログインIDです' ))); }
あなたの回答
tips
プレビュー