【问题标题】:message: "Method Illuminate\Validation\Validator::validateTazker does not exist."消息:“方法 Illuminate\Validation\Validator::validateTazker 不存在。”
【发布时间】:2020-02-08 14:32:12
【问题描述】:

我尝试为两列设置唯一验证,一列是 BadgeCode,另一列是 Tazkera,但我收到以下错误,但对于其余列,验证工作正常:

错误:

方法 Illuminate\Validation\Validator::validateTazker 不存在。
方法 Illuminate\Validation\Validator::validateBadgeCode 不存在。

迁移代码适用于 employees 表:

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'],
    ]);
 }

Employees.vue 中的 HTML 代码是

<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>

【问题讨论】:

  • 这些都不是规则。这就是您收到错误的原因。删除它们,它们是错误的。应该是unique:employees,BadgeCodeunique:employees,tazker

标签: mysql laravel vue.js


【解决方案1】:

移除 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'


        ]);

【讨论】:

  • 抱歉弄错了
【解决方案2】:

我像 Ohgodwhy 在 cmets 中所说的那样解决了它

$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();

        ]);

【讨论】:

    猜你喜欢
    • 2021-04-07
    • 1970-01-01
    • 1970-01-01
    • 2018-10-04
    • 2021-11-22
    • 2022-11-04
    • 1970-01-01
    • 2021-07-18
    • 1970-01-01
    相关资源
    最近更新 更多