сообщение: «Метод Illuminate \ Validation \ Validator :: validateTazker не существует». - PullRequest
0 голосов
/ 11 октября 2019

Я пытаюсь установить уникальную проверку для двух столбцов, один из которых BadgeCode , а другой - Tazkera , но я получаю сообщение об ошибке ниже, но для остальных столбцов проверка работает отлично:

Ошибка:

Метод Illuminate \ Validation \ Validator :: validateTazker не существует.
Метод Illuminate \ Validation \ Validator :: validateBadgeCode не существует.

Код миграции предназначен для сотрудников Таблица:

public function up()
{
    Schema::create('employees', function (Blueprint $table) {
        $table->bigIncrements('id');
        $table->string('BadgeCode')->unique();
        $table->string('BadgeType');
        $table->integer('company_id');
        $table->integer('nationality_id');
        $table->string('lastname');
        $table->string('firstname');
        $table->string('tazker')->unique();
        $table->string('telphonenumber');
        $table->string('position');
        $table->string('supervisorname');
        $table->string('supervisornumber');
        $table->string('issuedate');
        $table->string('expiredate');
        $table->string('serialnumber')->default('000000');
        // $table->boolean('checkout')->default(0);
        $table->softDeletes();
        $table->timestamps();
    });
}

мой код контроллера:

 public function store(Request $request)
 {
    $this->validate($request,[           
            'BadgeCode'=>'required|string|BadgeCode|unique:employees',  
            'BadgeType'=>'required', 
            'company_id'=>'required',
            'nationality_id'=>'required',
            'lastname'=>'required',
            'firstname'=>'required',
            'tazker'=>'required|string|tazker|unique:employees',
            'telphonenumber'=>'required',
            'position'=>'required',
            'supervisorname'=>'required',
            'supervisornumber'=>'required',
            'issuedate'=>'required',
            'expiredate'=>'required',
            'serialnumber'=>'required'

    ]);
    return Employee::create([
        'BadgeCode'=>$request['BadgeCode'],
        'BadgeType'=>$request['BadgeType'], 
        'company_id'=>$request['company_id'],  
        'nationality_id'=>$request['nationality_id'],         
        'lastname'=>$request['lastname'],
        'firstname'=>$request['firstname'],
        'telphonenumber'=>$request['telphonenumber'],
        'position'=>$request['position'],
        'supervisorname'=>$request['supervisorname'],
        'supervisornumber'=>$request['supervisornumber'],
        'issuedate'=>$request['issuedate'],
        'tazker'=>$request['tazker'],
        'expiredate'=>$request['expiredate'],
        'serialnumber'=>$request['serialnumber'],
    ]);
 }

HTML-код вEmployees.vue составляет

<div class="form-group">
   <input v-model="form.BadgeCode" placeholder="Enter BadgeCode" type="text" name="BadgeCode" class="form-control" :class="{ 'is-invalid': form.errors.has('BadgeCode') }" />
   <has-error :form="form" field="BadgeCode"></has-error>
</div>
<div class="form-group">
   <input v-model="form.tazker" placeholder="Enter tazker" type="text" name="tazker" class="form-control" :class="{ 'is-invalid': form.errors.has('tazker') }" />
   <has-error :form="form" field="tazker"></has-error>
</div>

Ответы [ 2 ]

1 голос
/ 11 октября 2019

Удалить атрибут проверки BadgeCode

         $this->validate($request,[           
            'BadgeCode'=>'required|string|unique:employees',  
            'BadgeType'=>'required', 
              'company_id'=>'required',
            'nationality_id'=>'required',
            'lastname'=>'required',
            'firstname'=>'required',
            'tazker'=>'required|string|tazker|unique:employees',
            'telphonenumber'=>'required',
            'position'=>'required',
            'supervisorname'=>'required',
            'supervisornumber'=>'required',
            'issuedate'=>'required',
            'expiredate'=>'required',
            'serialnumber'=>'required'


        ]);

0 голосов
/ 11 октября 2019

Я решил это, как сказал Ohgodwh в комментариях

$this->validate($request,[           
            // 'BadgeCode'=>'required|string',  
           'BadgeCode'=>'required|unique:employees,BadgeCode',
            'BadgeType'=>'required', 
              'company_id'=>'required',
            'nationality_id'=>'required',
            'lastname'=>'required',
            'firstname'=>'required',
            'tazker'=>'required|string|unique:employees,tazker',
            'telphonenumber'=>'required',
            'position'=>'required',
            'supervisorname'=>'required',
            'supervisornumber'=>'required',
            'issuedate'=>'required',
            'expiredate'=>'required',
            'serialnumber'=>'required'

        //   $table->integer('nationality_id')->unsigned();

        ]);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...