2015-07-09 4 views
8

मान लें कि मेरे पास एक साधारण संपर्क फ़ॉर्म है। ,क्या लैरवेल 5.1 में कस्टम अनुरोध ऑब्जेक्ट्स के माध्यम से सत्यापन के बाद मैं इनपुट फ़ील्ड मानों को पुनर्स्थापित कर सकता हूं?

public function sendMessage(ContactRequest $request) 
{ 
    dd($request->all()); 
} 

सूचना है कि मैं ContactRequest वस्तु इंजेक्शन लगाने कर रहा हूँ ताकि सत्यापन पूरी तरह से काम कर रहा है:

<form action="/message" method="post"> 
    {!! csrf_field() !!} 
    <div class="form-group"> 
     <label>Name: </label> 
     <input type="text" name="name" class="form-control"> 
    </div> 

    <div class="form-group"> 
     <label>Email: </label> 
     <input type="email" name="email" class="form-control"> 
    </div> 

    <div class="form-group"> 
     <label>Your Message: </label> 
     <textarea name="message" class="form-control"></textarea> 
    </div> 

    <div class="form-group"> 
     <button class="btn btn-primary">Submit Message</button> 
    </div> 
</form> 

यहाँ मेरी नियंत्रक कि अनुरोध को पूरा करने के लिए है।

समस्या

मैं संपर्क फार्म में पुराने इनपुट मानों कैसे बहाल कर सकते हैं? ताकि उपयोगकर्ता को सभी क्षेत्रों को फिर से भरना पड़े।

+0

सत्यापन के बाद यह है सही है या बाद यह –

+0

विफल रहता है आप बात समझ :) @GideonAppoh! –

+0

अभी भी मेरे प्रश्न का बड़ा नहीं है, यह तब होता है जब सत्यापन पास हो जाता है या जब यह विफल हो जाता है –

उत्तर

12

ContactRequest सत्यापन विफल हो आप त्रुटियों और भी पुराने इनपुट के साथ अपने फार्म पर पुनः निर्देशित किया जाएगा।

तो बस अपनी ब्लेड फ़ाइल में {{पुराना ('फ़ील्ड')}} का उपयोग करें। अपने कोड के लिए

उदाहरण:

<form action="/message" method="post"> 
{!! csrf_field() !!} 
<div class="form-group"> 
    <label>Name: </label> 
    <input type="text" name="name" value="{{ old('name') }}" class="form-control"> 
</div> 

<div class="form-group"> 
    <label>Email: </label> 
    <input type="email" name="email" value="{{ old('email') }}" class="form-control"> 
</div> 

<div class="form-group"> 
    <label>Your Message: </label> 
    <textarea name="message" class="form-control">{{ old('message') }}"</textarea> 
</div> 

<div class="form-group"> 
    <button class="btn btn-primary">Submit Message</button> 
</div> 

+0

बिल्कुल सही! बहुत बहुत धन्यवाद :) –

+0

कोई समस्या नहीं है। खुशी हुई यह मदद की। :) – igs013

5

आप उपयोग कर सकते हैं "पुराने इनपुट" विधि:

$request->flash(); //to put the posted data to session 

और

$username = $request->old('username'); //to get the values you previously stored 

आप अपने फार्म के लिए एक रीडायरेक्ट 8back कर रहे हैं) तो आप इसे इस तरह फ़्लैश कर सकते हैं:

return redirect('form')->withInput(); 

अपने ब्लेड टेम्पलेट में पुराने मान प्राप्त करना भी आसान है:

"पुराने इनपुट" जिस तरह के बारे में
{{ old('username') }} 

अधिक पाया जा सकता है here

संबंधित मुद्दे

 संबंधित मुद्दे