user()->can('create', GroupSetting::class); } public function rules() { $this->sanitize(); $rules['name'] = 'required'; $rules['settings'] = new ValidSettingsRule(); return $rules; } public function sanitize() { $input = $this->all(); $input['settings'] = ClientSettings::defaults(); $this->replace($input); } public function messages() { return [ 'settings' => 'settings must be a valid json structure' ]; } }