Bu makale, bmf-tech.com adresinde daha önce yayınlanmıştır.
<p>Birden fazla form olduğunda, "Form request sınıflarını birleştirmek ve kurallar metodunda dallanmak istiyorum" düşüncesine kapılabilirsiniz. Bu düşünce aklıma bir REST API oluştururken geldi.</p>
<p>Görünüşe göre başkaları da aynı şeyi düşünmüş ve çözüme ulaşmadan önce referanslara dalmadan bulduğum bir çözüm mevcut.</p>
<p><a href="https://laracasts.com/discuss/channels/general-discussion/multiple-forms-multiple-requests" target="_blank" rel="noopener noreferrer">Birden Fazla Form, Birden Fazla Request?</a></p>
<p>FormRequest'in kurallar metodunda oynamaya başlayalım.<br/></p>
<div class="highlight js-code-highlight">
<pre class="highlight plaintext"><code>/
* Get the validation rules that apply to the request.
*
* @return array
*/
public function rules()
{
if ($this->hogehoge) {
return [
'alias_name' => 'max:50|required|unique:users',
];
}
if ($this->mogemoge) {
return [
'self_introduction' => 'max:200'
];
}
// Default
return [];
} <svg xmlns="http://www.w3.org/2000/svg" width="20px" height="20px" viewbox="0 0 24 24" class="highlight-action crayons-icon highlight-action--fullscreen-off"><title>Exit fullscreen mode</title>
<path d="M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z"/>
</svg>
</div>
</div>
</div>
<p>Hogehoge ve mogemoge olarak adlandırılan kısımlar, request'te geçirilen değerlerdir. Bu değere $request->hoge gibi bir yapı ile ulaşabilirsiniz; ancak $request, framework'ün implementasyonu tarafından işlenir ve $this'e dönüşür. (Burada "dönüşmek" ifadesi yanıltıcı olabilir, ancak alt yapıyı incelemediğim için kavram eksikliğim için özür dilerim...)</p>
<p>Son <code>return []</code>, request'te null geçtiğinde devreye girer. Bu olmadan, null durumu ile karşılaşılınca hata oluşacaktır.</p>
<p>Özel bir durum yok.</p>Kaynak: Orijinal Makale


