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

यहाँ मेरी कोडिंग है:

मैंने 2 बार फिर से सब कुछ खत्म करने की कोशिश की है। मैंने अपने दम पर कुछ सामान की कोशिश की है, लेकिन यह काम नहीं किया इसलिए मैंने इसे उलट दिया

यहाँ कोड है।

उपयोगकर्ता तालिका मॉडल:

<?php
class CreateUsersTable extends Migration
{
    /**
     * Run the migrations.
     *
     * @return void
     */
    public function up()
    {
        Schema::create('users', function (Blueprint $table) {
            $table->bigIncrements('id');
            $table->string('name');
            $table->string('username')->unique();
            $table->string('email')->unique();
            $table->timestamp('email_verified_at')->nullable();
            $table->string('password');
            $table->rememberToken();
            $table->timestamps();
        });
    }

    /**
     * Reverse the migrations.
     *
     * @return void
     */
    public function down()
    {
        Schema::dropIfExists('users');
    }
}

यहाँ वह फ़ील्ड है जिसे मैंने अपनी रजिस्टर.बेड फ़ाइल में जोड़ा है:

<div class="form-group row">
                            <label for="username" class="col-md-4 col-form-label text-md-right">{{ __('username') }}</label>

                            <div class="col-md-6">
                                <input id="username" type="text" class="form-control @error('username') is-invalid @enderror" username="username" value="{{ old('username') }}"  autocomplete="username" autofocus>

                                @error('username')
                                    <span class="invalid-feedback" role="alert">
                                        <strong>{{ $message }}</strong>
                                    </span>
                                @enderror
                            </div>
                        </div>

रजिस्टर नियंत्रक:

protected function validator(array $data)
    {
        return Validator::make($data, [
            'name' => ['required', 'string', 'max:255'],
            'username' => ['required', 'string', 'max:255', 'unique:users'],
            'email' => ['required', 'string', 'email', 'max:255', 'unique:users'],
            'password' => ['required', 'string', 'min:8', 'confirmed'],
        ]);
    }

    /**
     * Create a new user instance after a valid registration.
     *
     * @param  array  $data
     * @return \App\User
     */
    protected function create(array $data)
    {   
        return User::create([
            'name' => $data['name'],
            'username' => $data['username'],
            'email' => $data['email'],
            'password' => Hash::make($data['password']),
        ]);
    }

और उपयोगकर्ता.php:

protected $fillable = [
        'name', 'username', 'email', 'password'
    ];

उपयोगकर्ता नाम जोड़ने के लिए मैंने यह सब करने के बाद मैंने तालिका को निम्नानुसार माइग्रेट किया:

php artasin migrate:fresh

तो मैं हालांकि यह वीडियो में काम करेगा लेकिन अब जब मैं फॉर्म भरता हूं तो मुझे यह कहते हुए एक सत्यापन मिलता है कि मुझे फॉर्म भरना है (जबकि मैंने किया) और मेरे डेटाबेस में कुछ भी समाप्त नहीं होता है

0
bartske2002 26 अगस्त 2019, 16:58

1 उत्तर

सबसे बढ़िया उत्तर

मुझे लगता है कि मुझे आपकी त्रुटि मिली। आपने अपने इनपुट फ़ील्ड नाम को register.bade फ़ाइल में ठीक से परिभाषित नहीं किया है। आपके पास वर्तमान में यह इस तरह है:

<input id="username" type="text" class="form-control @error('username') is-invalid @enderror" username="username" value="{{ old('username') }}"  autocomplete="username" autofocus>

इस इनपुट में, आपके पास है "उपयोगकर्ता नाम", जो आपके फॉर्म पर नहीं है, और आपको सत्यापन त्रुटि मिलती है।

इसे इसमें बदलें:

name="username"
0
zlatan 26 अगस्त 2019, 17:03