'nullable', 'signInUris.*' => ['nullable', 'url'], ], message: 'The sign in URI must be a valid URL.')] public array $signInUris = ['']; /** @var string[] */ #[Validate([ 'signOutUris' => 'nullable', 'signOutUris.*' => ['nullable', 'url'], ])] public array $signOutUris = ['']; #[Validate([ 'userAccessOption' => 'required|in:'.UserAccessTypeEnum::Everyone->value.','.UserAccessTypeEnum::Role->value, ])] public string $userAccessOption = UserAccessTypeEnum::Everyone->value; /** @var int[] */ #[Validate([ 'roleIds' => 'required_if:userAccessOption,'.UserAccessTypeEnum::Role->value, 'roleIds.*' => ['integer', 'exists:roles,id'], ])] public array $roleIds = []; public function validationAttributes(): array { return [ 'signInUris.*' => 'Sign-in URI', 'signOutUris.*' => 'Sign-out URI', 'roleIds.*' => 'Role', ]; } }