mediawiki/validator

ParamProcessor库的MediaWiki包装器

资助包维护!
JeroenDeDauw
Patreon

安装次数: 239,969

依赖者: 5

建议者: 0

安全: 0

星级: 10

关注者: 4

分支: 8

开放问题: 1

类型:mediawiki-extension

2.2.3 2020-11-19 22:38 UTC

This package is auto-updated.

Last update: 2024-09-08 12:27:02 UTC


README

The Validator MediaWiki扩展提供了参数处理框架,可以声明性地定义一组参数及其处理方式。它可以将此类声明与一组原始参数列表一起使用,并提供处理后的值。

此扩展提供的功能主要来自ParamProcessor库

GitHub Workflow Status Scrutinizer Code Quality Latest Stable Version Download count

安装

您可以使用Composer下载并安装此包及其依赖项。或者,您可以直接克隆git仓库并自行加载。

Composer

要将此包添加为项目的本地依赖项,只需将mediawiki/validator添加到项目的composer.json文件中。以下是一个定义Validator 2.2依赖项的composer.json文件的简单示例。

{
    "require": {
        "mediawiki/validator": "2.2.*"
    }
}

手动

通过git或其他方式获取Validator代码,并获取所有依赖项。您可以在composer.json文件的"require"部分中找到依赖项列表。

只需在您的LocalSettings.php文件中加载此扩展即可。

wfLoadExtension( 'Validator' );

作者

Validator是由Jeroen De Dauw编写的,以支持MapsSemantic MediaWiki

发布说明

版本 2.2.5 (2021-04-16)

  • 转换为ExtensionRegistry
  • 已取消对MediaWiki 1.35以下版本的支持

版本 2.2.3 (2020-11-19)

  • 翻译更新
  • 修复了导致其他MediaWiki测试失败的损坏测试
  • 现在支持与DataValues Common 1.x一起安装

版本 2.2.2 (2020-01-14)

  • 翻译更新
  • 现在支持与DataValues Common 0.4.x一起安装

版本 2.2.1 (2016-10-10)

  • 将i18n注册移出wgExtensionFunctions

版本 2.2.0 (2016-10-09)

  • 改进了初始化代码,以便在MediaWiki未加载时可以包含入口点

版本 2.1.0 (2016-10-09)

  • 取消对MediaWiki 1.23以下版本的支持
  • 取消对PHP 5.5以下版本的支持

版本 2.0.6 (2016-07-01)

  • 添加了缺失的系统消息
  • 翻译更新
  • 修复了失败的测试(只有测试本身有问题)

版本 2.0.5 (2016-04-04)

  • 翻译更新
  • 现在已测试与PHP 7的兼容性

版本 2.0.4 (2014-06-25)

  • 已将使用的ParamProcessor版本从~1.0.0更新到~1.1

版本 2.0.3 (2014-06-16)

  • 删除了过时的国际化文件

版本 2.0.2 (2014-06-14)

  • 修复了已弃用的ParserHook类中的问题

版本 2.0.1 (2014-06-14)

  • 删除了#listerrors和#describe解析钩子

版本 2.0 (2014-06-14)

  • 删除了已弃用的类别名
  • 删除了已弃用的ParamProcessor.php入口点
  • 使用基于composer的自动加载
  • 添加了TravisCI和ScrutinizerCI集成
  • 将最低MediaWiki版本从1.16更改为1.17
  • 将消息迁移到新的MediaWiki i18n JSON格式

版本 1.0.1 (2014-03-25)

  • 翻译更新
  • 源代码的主要副本现在在GitHub上

版本 1.0(2013-11-21)

此版本主要是对许多内部API进行重新设计,旨在提高稳定性和对外暴露的更清晰的接口。

大多数代码已移动到新的ParamProcessor库,Validator扩展仅作为MediaWiki特定包装。

兼容性更改
  • 现在需要ParamProcessor库,版本1.0或更高。
  • 将最小MediaWiki版本从1.16更改为1.18。
  • 完全兼容MediaWiki 1.20、1.21、1.22,以及与1.23的向前兼容。
  • 增加了对PHP 5.4.x和PHP 5.5.x的兼容性。
  • 取消了Validator 0.4.x参数定义的支持,包括Criteria和Manipulations。
弃用
  • 弃用了ParserHook类。
  • 弃用了描述解析器钩子。
  • 弃用了listerrors解析器钩子。

版本 0.5.1(2012-11-21)

  • 增加了对PHP 5.4的兼容性。

版本 0.5(2012-10-05)

兼容性更改
  • 将最小MediaWiki版本从1.16更改为1.17。
  • 完全兼容MediaWiki 1.19和MediaWiki 1.20,以及与1.21的向前兼容。

新特性

  • 支持ParamDefinition对象的新轻量级数组定义。
  • 添加了DimensionParam。
  • 添加了ValidatorOptions类,其中可以将其实例传递给Validator以全局更改处理行为。最显著的新选项是'rawStringParameters',当设置为true(默认值)时,将期望字符串格式的值,当设置为false(新功能)时,将期望原生格式的值(即列表应该是实际的数组对象)。

改进

  • 将Parameter拆分为Param和ParamDefinition类。
    • ParamDefinition对象代表一个类型,并包含验证和处理值的逻辑。
    • Param对象持有ParamDefinition、用户提供的值和处理状态。
  • 为一些ParamDefinition对象添加了新的选项,这些选项在早期的criteria和manipulation对象中不可用。
  • 为所有ParamDefinition对象添加了测试。
  • 为Validator添加了高级测试,并为ValidatorOptions添加了测试。

弃用

  • 弃用Parameter(及其派生)类。
  • 弃用ParameterCriterion(及其派生)类。
  • 弃用ParameterManipulation(及其派生)类。
  • 弃用了Validator类的构造方法。

版本 0.4.14(2012-03-10)

  • 新增内置参数类型'title'。接受现有和非现有页面的标题,这些标题在维基中是有效的。

版本 0.4.13(2011-11-30)

  • ParserHook::$parser现在是对原始解析器对象的引用,正如人们所预期的。在此之前,这仅适用于标签扩展,而不是解析器函数调用。

  • 如果SFH_OBJECT_ARGS并且因此对象解析器函数参数在Validator使用的MW版本中可用,则ParserHook::$frame将不再为null。因此,引入了新的函数ParserHook::renderFunctionObj(),用于处理这些SFH_OBJECT_ARGS钩子。

  • ParserHook构造函数现在接受一个位字段,用于为注册的钩子定义更进一步的定制。第一个选项可以通过ParserHook::FH_NO_HASH设置,以定义函数钩子应该在不带前导哈希的情况下可调用(例如"{{plural:...}}"样式)。

  • 未命名参数处理选项现在可以在没有命名回退的情况下工作。这允许完全忽略参数值中的'=',然后必须在这些命名参数之前设置这些参数。有关详细信息,请参阅Validator::setFunctionParams()和ParserHook::getParameterInfo()。

  • ParserHook验证消息现在将在全局内容语言中输出文本,而不是用户界面语言。

版本 0.4.12(2011-10-15)

  • 在describe解析器钩子中修复了国际化问题。

版本 0.4.11(2011-09-14)

  • 修复了Parameter::getDescription中的兼容性回退。
  • 修复了ParameterInput中列表参数的处理。

版本 0.4.10(2011-08-04)

  • 添加了语言参数,用于描述允许设置生成文档的lang。
  • 为ParserHook类添加了getMessage方法,以实现更好的国际化。

版本0.4.9 (2011-07-30)

  • 为Parameter类添加了setMessage和getMessage方法,以实现更好的国际化。

版本0.4.8 (2011-07-19)

  • 为标准添加了单元测试。
  • 修复了在CriterionInRange中处理浮点数的问题。
  • 添加了对CriterionHasLength和CriterionItemCount中开放极限的支持。

版本0.4.7 (2011-05-15)

  • 根据SMws Special:Ask中的代码,添加了ParameterInput类以生成参数的HTML输入。
  • 为Parameter::setDefault添加了第二个参数"$manipulate = true",该参数传递给Parameter::setDoManipulationOfDefault。
  • 布尔操作现在忽略已经是布尔值的值。

版本0.4.6 (2011-03-21)

  • 删除了ParamManipulationBoolstr。
  • 为CriterionInArray添加了获取允许值的方法。
  • 当布尔参数默认为布尔值时,自动不使用布尔操作。
  • 在ListParameter::setDefault中对参数进行了修复,是对0.4.5版本更改的后续。

版本0.4.5 (2011-03-05)

  • 修复了describe解析器挂钩中的转义问题。
  • 添加了字符串操作,默认应用于字符串和字符。

版本0.4.4 (2011-02-16)

  • 调整了ParserHook类中的解析器使用。
  • 修复了describe解析器挂钩中嵌套pre标签的错误输出。

版本0.4.3.1 (2011-01-20)

  • 删除了标签扩展和解析器函数的下划线和空格切换行为。

版本0.4.3 (2011-01-11)

  • 添加了describe解析器挂钩,该挂钩可以通过Validator自动生成解析器挂钩的文档。
  • 修改了ParserHook和Parameter类,允许指定描述消息。

版本0.4.2 (2010-10-28)

  • 修复了与MediaWiki 1.15.x的兼容性问题。
  • 在Parameter类中删除了lowerCaseValue字段,并使用ParameterManipulation替换了其功能。

版本0.4.1 (2010-10-20)

  • 进行了多项小的修复和改进。

版本0.4 (2010-10-15)

新特性
  • 添加了ParserHook类,允许使用完整的Validator支持创建开箱即用的解析器函数和标签扩展。
  • 添加了listerrors解析器挂钩,允许列出在渲染点发生的所有验证错误。
  • 添加了对条件参数添加的支持。
重构

基本上所有的东西都被重写了...

  • 添加了Parameter和ListParameter类来替换数组形式的参数定义。
  • 添加了ParameterCriterion和ListParameterCriterion类以更好地处理参数标准。
  • 添加了ParameterManipulation和ListParameterManipulation类以实现参数的更结构化格式化。
  • 添加了ValidationError类以更好地描述错误。
  • 用ValidationError::SEVERITY_和ValidationError::ACTION_替换了错误级别枚举,它们与$egErrorActions相关联。

版本0.3.6 (2010-08-26)

  • 在参数信息定义中添加了对'tolower'参数的支持。

版本0.3.5 (2010-07-26)

  • 修复了错误消息中原始参数名(在某些情况下也包括值)的问题。

版本0.3.4 (2010-07-07)

  • 修复了在php 5.3及以后版本中出现的参数引用问题。
  • 修复了导致参数名在错误消息中显示错误的转义问题。
  • 修复了参数值修剪的小问题,该问题在使用对象时引起问题。

版本0.3.3 (2010-06-20)

  • 修复了在某些情况下使用ValidatorManager::manageParsedParameters方法时引起的通知问题。

版本0.3.2 (2010-06-07)

  • 对参数名添加了小写处理,并且可选地(默认为开启),对参数值也进行小写处理。
  • 当作为命名参数使用时,从默认参数队列中删除默认参数。

版本0.3.1 (2010-06-04)

  • 添加了ValidatorManager::manageParsedParameters和Validator::setParameters。

版本0.3 (2010-05-31)

  • 添加了对通用默认参数的支持。
  • 添加了对参数依赖性的支持。
  • 添加了对验证和格式化函数的完整元数据支持,使参数的更高级处理成为可能。
  • 对代码进行了重大重构,以符合MediaWiki约定。

版本0.2.2 (2010-03-01)

  • 修复了固定潜在xss攻击向量。
  • 进行了微小的代码改进。

版本 0.2.1 (2010-02-01)

  • 更改了范围验证函数的上限包含。
  • 进行了小的语言修正。

版本 0.2 (2009-12-25)

  • 增加了对类型列表的处理,而不是将列表作为类型。这包括每个元素的验证和默认值。
  • 增加了列表验证函数:item_count 和 unique_items
  • 增加了布尔型、数字型和字符型。
  • 增加了对输出类型的支持。内置的输出类型有列表、数组、布尔型和字符串。通过钩子可以添加自己的输出类型。
  • 为 $egValidatorErrorLevel 添加了 Validator_ERRORS_MINIMAL 值。
  • 为 ValidatorManager 添加了警告消息,当 egValidatorErrorLevel 为 Validator_ERRORS_WARN 时将显示错误。
  • 增加了对 is_boolean、has_length 和 regex 的条件支持。

版本 0.1 (2009-12-17)

  • 初始发布,包含参数验证、默认值和错误生成功能。

链接