2017-03-10 7 views
0

私は例えば、親要素を選択するユーザーを防ぐために、検証問題を抱えている:Laravel検証親/子ユーザ入力

  • オプション1
  • オプション2
    • サブオプション1
    • サブオプション2
    • サブオプション3
  • オプション3

ユーザー、それは子を持たない場合は、トップレベルのオプションを選択することができ、例えば、彼らはオプション1とオプション3を選択することもできますが、彼らはのいずれかを選択する必要があるだろうと、彼らはオプションを選択することはできませんサブオプション

データベース構造は次のとおりです。オプションが親を持っている場合(それがnullでない場合)

ID、PARENT_ID、名前

は、PARENT_IDは、親のIDです。

私は現在、このオプションがデータベースに存在するかどうかを確認していますが、子供がいる場合はトップレベルのオプションが選択されないことは明らかです。

提案がありますか?

答えて

0

選択した親アイテムをブロックしていますか?

モデルにchildren関数を作成できます。これはhasMany関係の船です。カウントが0より大きい場合、アイテムは選択可能です。

また、バウム(https://github.com/etrepat/baum)を使用して、アイテムが「離脱」(子なしのアイテム)かどうかを確認することができます。

入力の検証は、カスタム検証規則(https://laravel.com/docs/5.4/validation#custom-validation-rules)で行うことができます。 入力を取得し、子があるかどうかをチェックし、trueまたはfalseを返します。

関連する問題