Laravel unique 验证

    protected function validateUser(Request $request)
    {
        $request->validate([
            'username' => 'required|min:2|max:10',
            'mobile'   => 'regex:/^1[345789][0-9]{9}$/|unique:users,mobile,' . $request->user()->id,
            'sex'      => 'required',
        ]);
    }




$params = $request->all();
        $params_id = $params['id'] ?? '';
        $validator = Validator::make($request->all(), [
            'customer_name' => 'required|unique:customer,customer_name,'.$params_id,
            'parent_id' => 'required',
        ], [
            'customer_name.required' => '客户名称不能为空!',
            'customer_name.unique'=>'客户名称已经被占用',
            'parent_id.required' => '顶级菜单不能为空',
        ]);
        if ($validator->fails()) {
            $rsp['err_msg'] = "数据校验失败";
            $rsp['data'] = $validator->errors()->all();
            return $this->getResponse('', ResponseCode::OK, $rsp);
        }


提供url: https://blog.csdn.net/lo6064200/article/details/104832750

解释说明

'name' => 'required|unique:test,display_name,11,age,extra_field,extraValue'

 解释

 对于客户端输入的 name 字段
 name 不能为空
 name 字段值在给定的数据库表中需为唯一值

 // unique 校验规则

 unique:table,column,except,idColumn

 // 举个栗子

 unique:test,display_name,11,age,extra_field,extraValue

 test => 数据库表display_name => test 数据表结构中的字段名称11,age => except,idColumn // 表示忽略 test 数据表中 age = 11 的数据记录extra_field,extraValue => 额外的where条件 { // 表示上述规则只会为数据库test表中 extra_field = 'extraValue' 的数据记录做唯一规则的验证}

 例子:验证同一仓库下库位名不能相同

 $rules['location_name.'.$i] = 'required|unique:warehouse_location,location_name,NULL,l_id,w_id'.($w_id ? ",$w_id" : '');


第二个例子:


name 不能为空

name 字段值在给定的数据库表中需为唯一值

// unique 校验规则
unique:table,column,except,idColumn
// 举个栗子
unique:test,display_name,11,age,extra_field,extraValue

test => 数据库表
display_name => test 数据表结构中的字段名称
11,age => except,idColumn // 表示忽略 test 数据表中 age = 11 的数据记录
extra_field,extraValue => 额外的where条件 {
    // 表示上述规则只会为数据库test表中 extra_field = 'extraValue' 的数据记录做唯一规则的验证






laravel判断字段是否存在

Schema::hasColumn('表名','字段名字');

使用方法:

if(Schema::hasColumn('table_name','field_name')){
    return '存在';
}else{
    return 'table不存在';

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值