如何添加验证规则

时间:2019-07-19 02:54:41

标签: laravel validation

我试图在控制器中添加unique validation rule。 但是为什么重复的数据仍然记录到数据库。

控制器

public function tambahDataWNI(Request $request){
    $validation = $request->validate([
        'no_identitas' => 'required|unique:pendataan,no_identitas'
    ]);

    $c = new InputdatawniModel();
    $c->jenis_identitas = $request->jenis_identitas;
    $c->no_identitas = $request->no_identitas;
    $c->nama = $request->nama;
    $c->asal_shelter = $request->asal_shelter;
    $c->save();

    return redirect('inputdatawni');
}

3 个答案:

答案 0 :(得分:1)

在这里unique rules

基于该引用,您需要确保使用正确的表名和正确的列名

$validation = $request->validate([
    'no_identitas' => 'required|unique:table_name,column_name'
]);

答案 1 :(得分:0)

为此创建正确的请求文件

 public function rules()
{
    switch ($this->method()) {
        case 'POST':
        return [
            'no_identitas' => 'required|unique:tablename,columnname,NULL,id,deleted_at,NULL',
        ];
        case 'PUT':
            $model = Model::whereId($this->model)->first();

        return [

        'no_identitas' => 'required|numeric|unique:tablename,name,' . $model->id . ',id',deleted_at,NULL',

        ];
        default:
        break;
    }
}

答案 2 :(得分:0)

在控制器中添加以下验证器类。

使用Illuminate \ Support \ Facades \ Validator;

然后检查以下代码。

Publishers.Once