2015-12-23 11 views
5

मैं अब इतना भ्रमित हूं, मैं प्रशिक्षक के अनुसार लैराकास्ट से लैरावेल सीख रहा हूं, प्रमाणीकरण विफल होने के बाद, फ़ॉर्म उस उपयोगकर्ता को दर्ज किए गए मानों को रीसेट नहीं करता है। लेकिन सत्यापन की जांच करते समय, जब मैं फॉर्म को हर चीज़ रीसेट करता हूं।इनपुट में लारवेल रीसेट मान विफल?

एक और प्रश्न अपरिभाषित चर$errors है जब मैं इसे एक्सेस करने का प्रयास करता हूं।

मेरे नियंत्रक

<?php 

namespace App\Http\Controllers; 


use App\Articles; 
use App\Http\Requests\CreateArticle; 
use Carbon\Carbon; 
use App\Http\Requests; 
use Illuminate\Http\Request; 
use App\Http\Controllers\Controller; 

class ArticlesController extends Controller 
{ 



    public function create() 
    { 
     return view('articles.create'); 
    } 


    public function store(Request $request) 
    { 
     $this->validate($request, [ 
      'title' => 'required', 
      'body' => 'required' 
     ]); 
     Articles::create($request->all()); 
     return redirect('articles'); 
    } 

} 

मेरे देखें

@extends('app') 

@section('content') 
    <h1>Create a new Articles</h1> 

    <hr/> 

    {!! Form::open(['url' => 'articles']) !!} 

    <div class="form-group"> 
     {!! Form::label('title', 'Title: ') !!} 
     {!! Form::text('title', null, ['class' => 'form-control']) !!} 
    </div> 


    <div class="form-group"> 
     {!! Form::label('body', 'Body') !!} 
     {!! Form::textarea('body', null, ['class' => 'form-control']) !!} 
    </div> 


    <div class="form-group"> 
     {!! Form::label('published_at', 'Published On:') !!} 
     {!! Form::input('text', 'published_at', date('Y-m-d'), ['class' => 'form-control']) !!} 
    </div> 


    <div class="form-group"> 
     {!! Form::submit('submit', ['class' => 'btn btn-primary']) !!} 
    </div> 


    @if(isset($errors)) 
    {{var_dump($errors)}} 
    @endif 
    {!! Form::close() !!} 

@stop 

वह v5.0 का उपयोग करें और मैं v5.2 का उपयोग कर रहा

+0

क्या आप हमें अपना मान्य कार्य दिखा सकते हैं? – James

उत्तर

3

वापसी अपने नियंत्रक से निम्नलिखित। ..

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

देखें कि क्या यह मदद करता है। यदि आप इसे पसंद करना चाहते हैं तो आप कुछ फ़ील्ड को बाहर कर सकते हैं ..

return redirect('articles')->withInput($request->only('email')) 
+0

यह '-> इनपुट()' विधि –

4

यहां कुछ समस्याएं हैं।

पहला, सत्यापन के बाद सहेजे जाने वाले इनपुट विफल नहीं होते हैं। मेरा मानना ​​है कि ऐसा इसलिए है क्योंकि आप उन कार्यों में null पास कर रहे हैं जो इनपुट बना रहे हैं जब आपको उस मान में गुजरना चाहिए, जिसे आप डिफ़ॉल्ट रूप से चाहते हैं। निम्नलिखित का प्रयास करें ...

<div class="form-group"> 
    {!! Form::label('title', 'Title: ') !!} 
    {!! Form::text('title', old('title'), ['class' => 'form-control']) !!} 
</div> 

इसके बाद इनपुट तत्व को पुराने डेटा के साथ पॉप्युलेट करना चाहिए जो पहले दर्ज किया गया था। बाकी फॉर्म इनपुट के लिए बस उसी प्रक्रिया का पालन करें।

$errors के साथ दूसरा मुद्दा वास्तव में सेट नहीं किया जा रहा है वास्तव में Laravel 5.2 के साथ एक बदलाव के कारण है। अपने

<div class="form-group"> 
{!! Form::label('title', 'Title: ') !!} 
{!! Form::text('title', old('title'), ['class' => 'form-control']) !!} 
</div> 

का उपयोग नहीं कर रहे हैं, तो Laravel 5.2 $errors not appearing in Blade

+0

जोड़ने के बाद काम नहीं करता है, मैं 5.0 के साथ फिर से परीक्षण करूंगा, मैंने वीडियो फिर से देखा और उसने 'पुराना' 'शीर्षक') ', बस' शून्य 'भरना नहीं किया। आपके उत्तर के लिए धन्यवाद –

+1

उस स्थिति में, यह संभव होगा कि वह 'फॉर्म :: मॉडल()' का उपयोग कर रहा था, जहां मेरा मानना ​​है कि वास्तव में उन मानों को भर देगा। – user3158900

+0

समस्या का कारण बन सकता है नए LaravelCollective एचटीएमएल इल्यूमिनेट एचटीएमएल के लिए बदल दिया है –

4

लेकिन

<input id="Email" name="Email" type="email" class="uit-input" placeholder="your email address" value={{old('Email')}}> 
की तरह साधारण इनपुट फ़ील्ड है: तो मैं बस एक पिछले जवाब का उल्लेख करना चाहते हैं बहुत से लोग एक ही सटीक समस्या हो रही किया गया है

पुराने डेटा के साथ मूल्य 'prefill'।

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