isMethod('post')) return []; $o = $this->route('o'); return [ 'name' => [ 'required', 'max:8', 'regex:/^[a-z-_~]{1,8}$/', Rule::unique('domains') ->where(fn($query)=>$query ->where('name',$request->post('name')) ->when($o?->exists,fn($query)=>$query->where('id','<>',$o->id)) ) ], 'dnsdomain' => [ 'nullable', 'regex:/^(?!:\/\/)(?=.{1,255}$)((.{1,63}\.){1,127}(?![0-9]*$)[a-z0-9-]+\.?)$/i', Rule::unique('domains') ->where(fn($query)=>$query ->where('dnsdomain',$request->post('dnsdomain')) ->when($o?->exists,fn($query)=>$query->where('id','<>',$o->id)) ) ], 'active' => 'required|boolean', 'public' => 'required|boolean', 'accept_app' => 'required|boolean', 'flatten' => 'nullable|boolean', 'nodestatus_id' => [ 'nullable', Rule::exists(Echoarea::class,'id'), Rule::in($o->echoareas->pluck('id')), ] ]; } }