2017-12-01 13 views
1

私のプロジェクトフォームでは、ユーザーに住所の入力を要求します。 1つのフォームに2つのアドレスがあることがあります。住所は常に3つのフィールド(市、通り、自宅番号)です。住所のラベール検証規則

有効にするにはgps座標またはエラーを返す外部サービスを使用します。この場合、手動でバリデータにエラーを追加します。

$this->validateAddress(
    $v, 
    $request->input('firstaddr.city'), 
    $request->input('firstaddr.street'), 
    $request->input('firstaddr.house') 
); 
$this->validateAddress(
    $v, 
    $request->input('secondaddr.city'), 
    $request->input('secondaddr.street'), 
    $request->input('secondaddr.house') 
); 

のみ接頭辞を受信すること、私がしたいことがちょうどバリにルールを渡すことです。しかし、このソリューションは非常にハックと繰り返し思える:私のコントローラで、それは次のようになりますので、私もヘルパー関数を書きました、 "firstaddr"や "secondaddr"のように。それは可能ですか?

答えて

4

Laravel 5.5以来、custom validation rulesを定義することができます。お使いのコントローラで

それは

$request->validate([ 
    'firstaddr' => [new Address], 
    'secondaddr => [new Address] 
]); 

ようになり、実行は、コントローラに入る前に検証ロジックが起こるように、あなたはform request validationとそれを組み合わせることができます。

+0

ニース、まさに私が望んでいた。ありがとうございました! –

+0

あなたは大歓迎です。あなたが途中で何か助けが必要な場合は、私は答えを更新し続けます。 – Valdrinit

関連する問題