<?php namespace App\Http\Requests; use Illuminate\Foundation\Http\FormRequest; use Illuminate\Http\Request; use Illuminate\Support\Facades\Gate; use App\Models\Domain; class DomainRequest extends FormRequest { public function authorize(Domain $o) { return Gate::allows( 'admin',$o); } public function rules(Request $request) { if (! $request->isMethod('post')) return []; $o = $this->route('o'); return [ 'name' => 'required|max:8|regex:/^[a-z-_~]{1,8}$/|unique:domains,name,'.($o->exists ? $o->id : 0), 'dnsdomain' => 'nullable|regex:/^(?!:\/\/)(?=.{1,255}$)((.{1,63}\.){1,127}(?![0-9]*$)[a-z0-9-]+\.?)$/i|unique:domains,dnsdomain,'.($o->exists ? $o->id : NULL), 'active' => 'required|boolean', 'public' => 'required|boolean', 'flatten' => 'nullable|boolean', ]; } }