在laravel中进行表单验证

时间:2016-05-08 20:09:10

标签: laravel-5

场景是一个用户有很多设备,我想确保设备名称必须是唯一的。像用户Barry有设备名称为device_1,当他添加新设备时,设备名称必须是唯一的,但第二个用户wally有设备名称device_1那么如何实现?代码如下:

public function rules()
    {
        $user_id=(double)Input::get('user_id');

        return [
            'user_id' => 'required',
            'device_name' => 'required|unique:devices,device_name,'.$user_id.',user_id',
            'sensorPin_num' => 'required|integer',
            'relay_num'  =>'required|integer'

            //
        ];
    }

1 个答案:

答案 0 :(得分:0)

如果您要更新,则应添加设备的ID;如果您是先创建,则应为null,例如,如果以上代码来自模型:

$device_id = $this->id ?: null;

以下是写入唯一规则:

'device_name' => 'required|unique:devices,device_name, '. $device_id .',id,user_id,'.$user_id;