Birkaç 'koşullu' alanla uzun, karmaşık bir formum var - B alanı, yalnızca alan A'nın örneğin 'Evet' olarak işaretli olup olmadığını gösterir. İşte Laravel 4: yönlendirme değerlerine erişmek '-> withInput()'
HTML var:<div class="{{ $errors->has('happy') ? ' has-error' : false }}">
{{Form::label('happy', 'Are you happy?')}}
{{Form::select('happy', array('' => '--', 'Yes' => 'Yes', 'No' => 'No'),(!empty($input['happy']) ? $input['happy'] : null), ['class'=>'dependent']);}}
</div>
<div class="{{ !empty($input['happy']) && $input['happy'] == 'Yes' ? null : 'hidden'}} dependent" data-dependent-field="happy" data-dependent-value="Yes">
{{Form::label('second-field', 'Only asked if you\'re happy')}}
{{Form::textarea('second-field',!empty($input['second-field']) ? $input['second-field'] : null)}}
</div>
sorun ikinci alanda bir doğrulama hata varsa formu, orijinal giriş kabul edilmesi değil sunulduğunda ve hidden
sınıf hala ekleniyor ikinci alan grubuna. Bu kod, düzenleme yapılacak verilerle birlikte formu yeniden yüklerken değil, doğrulama hatası gönderilirken bu kodun çalıştığı durumlarda çalışır. Ben doğru dönüş verilere başvurulması değilim tahmin ediyorum
if($validation->fails()){
return Redirect::back()->withInput()->withErrors($validation->errors())->with(['flash_message'=>'Please check your inputs again.']);
}
, ama yanlış nereye gidiyorum bilemiyorum: doğrulama kodu şöyle.
Girdi değiştiğinde alanları genişletmek için jQuery'yi kullanıyorum, ancak bu, bir doğrulama hatasından sonra yeniden yüklendiğinde alanları dikkate almıyor. DAHA CLAIRTY İÇİN
DÜZENLEME:
İşte bir örnek. Evet'i seçtiğimde ancak 'neden' yanıtını boş bırakırsam ve bu zorunlu bir alan ise, Laravel back()->withErrors()
bitini yazdığında, metin alanı ekranda görünmez. soruna
<div class="row {{ $errors->has('happy') ? ' has-error' : false }}">
{{Form::label('happy', 'Field Label', ['class'=>'span12'])}}
<div class="span3">
{{Form::select('happy', array('' => '--', 'Yes' => 'Yes', 'No' => 'No'),(!empty($input['happy']) ? $input['happy'] : null), ['class'=>'dependent']);}}
</div>
</div>
<div class="row">
<div class="span12">
<div class="{{ !empty($input['happy']) && $input['happy'] == 'No' ? null : 'hidden'}} dependent" data-dependent-field="happy" data-dependent-value="No">
<div {{ $errors->has('why-not-happy') ? ' has-error' : false }}">
{{Form::label('why-not-happy', 'Why aren\'nt you happy?')}}
{{Form::textarea('why-not-happy',!empty($input['why-not-happy']) ? $input['why-not-happy'] : null)}}
</div>
</div>
</div>
</div>
Bana, form değerlerini kabul eden denetleyicideki işlevi gösterebilir misiniz? – Vagabond