Address
同じクラスの 2 つのインスタンス (メインの住所と請求先住所としましょう)を表すフォームがあり、これは から継承されArdent
ます。
フォームは次のように定義されます。
Form::model($data, ...)
どこ:
$data = [ 'mainAddress' => [instance A of Address],
'billingAddress' => [instance B of Address] ];
フォームのフィールドには、次のような配列表記に従う名前があります。
Form::text('mainAddress[zipcode]')
...
Form::text('billingAddress[zipcode')
と で簡単に両方のモデルを引き出すためInput::get('mainAddress')
にInput::get('billingAddress')
。
両方のモデルの検証エラーを確認する簡潔な方法を見つけるにはいくつかの問題があります。両方のインスタンスをチェックすることは大したことではありません。問題は、フィールドの横に適切なエラーを表示する必要があるビューにあります。通常、私は単純な を使用し$errors->has('fieldName')
ますが、2 つのインスタンスでは、エラー メッセージを簡単に引き出すのに問題があります。
注:フィールド名 (f.ex. mainAddress_zipcode
) を平坦化し、両方のインスタンスのフィールドを含むカスタム ルールセットを定義することで解決できることはわかっていますが、より簡潔でエレガントな方法を見逃しているようです。これを行う。