[ DataStore::PROPERTY_OAUTH_KEY => [['NotEmpty']], DataStore::PROPERTY_OAUTH_SECRET => [['NotEmpty']], RdfLtiProviderRepository::LTI_VERSION => [['NotEmpty']], ], '1.3' => [ RdfLtiProviderRepository::LTI_VERSION => [['NotEmpty']], RdfLtiProviderRepository::LTI_TOOL_CLIENT_ID => [['NotEmpty']], RdfLtiProviderRepository::LTI_TOOL_IDENTIFIER => [['NotEmpty']], RdfLtiProviderRepository::LTI_TOOL_NAME => [['NotEmpty']], RdfLtiProviderRepository::LTI_TOOL_DEPLOYMENT_IDS => [['NotEmpty']], RdfLtiProviderRepository::LTI_TOOL_AUDIENCE => [['NotEmpty']], RdfLtiProviderRepository::LTI_TOOL_OIDC_LOGIN_INITATION_URL => [['NotEmpty'], ['Url']], RdfLtiProviderRepository::LTI_TOOL_LAUNCH_URL => [['Url']], RdfLtiProviderRepository::LTI_TOOL_JWKS_URL => [ [ 'Url', ['allow_empty' => true], ], [ 'AnyOf', [ 'reference' => [RdfLtiProviderRepository::LTI_TOOL_PUBLIC_KEY,], ] ], ], RdfLtiProviderRepository::LTI_TOOL_PUBLIC_KEY => [ [ 'AnyOf', [ 'reference' => [RdfLtiProviderRepository::LTI_TOOL_JWKS_URL,], ] ], ] ], ]; public function getValidators(string $schema, string $field = null): array { $validators = self::VALIDATORS[$schema] ?? []; return isset($validators[$field]) ? [$validators[$field]] : $validators; } }