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