Changes
m
** [[:he:Module:ParamValidatorParameter validation]] – parameter validation system on hewiki, relies on TemplateData. module doc in English. checks the following:***use of undeclared parameters*** use of parameters marked in templatedata "deprecated"*** mistyped (mainly, parameters declared in templatedata as "number" receiving non-numerical value)***missing parameters marked in TemplateData as "required"***understands aliases, and warns when a lot more than one alias of a parameter is used** [[:cs:Module:CheckParameters]] – another parameter check system on cswiki that relies on TemplateData* [[s:cs:Module:MonitorTemplateArguments]] – a template parameter monitoring system based on tracking categories
Reverted 1 edit by 2404:160:8075:59AF:1786:59EB:15CB:7CC0 (talk) to last revision by Grufo
{{High-risk|9500000|all-pages=yes}}{{used Used in system|in [[MediaWiki:Abusefilter-warning-DS]]}}{{module Module rating|p}}<!-- Categories go at the bottom of this page and interwikis go in Wikidata. -->{{Lua|Module:If preview|noprotcat=yes}}
This module may be appended to a template to check for uses of unknown parameters. Unlike many other modules, this module is ''not'' implemented by a template.
== Usage ==
=== Basic usage ===
<presyntaxhighlight lang="wikitext">{{#invoke:check Check for unknown parameters|check
|unknown=[[Category:Some tracking category]]
|arg1|arg2|arg3|argN}}
</presyntaxhighlight>
or to sort the entries in the tracking category by parameter with a preview error message
<presyntaxhighlight lang="wikitext">{{#invoke:check Check for unknown parameters|check
|unknown=[[Category:Some tracking category|_VALUE_]]
|preview=unknown parameter "_VALUE_"
|arg1|arg2|...|argN}}
</presyntaxhighlight>
or for an explicit red error message
<presyntaxhighlight lang="wikitext">{{#invoke:check Check for unknown parameters|check
|unknown=<span class="error">Sorry, I don't recognize _VALUE_</span>
|arg1|arg2|...|argN}}
</presyntaxhighlight>
Here, <code>arg1</code>, <code>arg2</code>, ..., <code>argN</code>, are the known parameters. Unnamed (positional) parameters can be added too: <code><nowiki>|1|2|argname1|argname2|...</nowiki></code>. Any parameter which is used, but not on this list, will cause the module to return whatever is passed with the <code>unknown</code> parameter. The <code>_VALUE_</code> keyword, if used, will be changed to the name of the parameter. This is useful for either sorting the entries in a tracking category, or for provide more explicit information.
By default, the module makes no distinction between a defined-but-blank parameter and a non-blank parameter. That is, both unlisted {{paraPara|foo|x}} and {{paraPara|foo}} are reported. To only track non-blank parameters use {{paraPara|ignoreblank|1}}.
By default, the module ignores blank positional parameters. That is, an unlisted {{paraPara|2}} is ignored. To ''include'' blank positional parameters in the tracking use {{paraPara|showblankpositional|1}}.
=== Lua patterns ===
This module supports [[:mw:Extension:Scribunto/Lua reference manual#Patterns|Lua patterns]] (similar to [[regular expression]]s), which are useful when there are many known parameters which use a systematic pattern. For example, <code>[[templateModule:infobox3colsInfobox3cols|Infobox3cols]] </code> uses<presyntaxhighlight lang="lua">| regexp1 = "header[%d][%d]*+",| regexp2 = "label[%d][%d]*+",| regexp3 = "data[%d][%d]*+[abc]?",| regexp4 = "class[%d][%d]*+[abc]?",| regexp5 = "rowclass[%d][%d]*+",| regexp6 = "rowstyle[%d][%d]*+",| regexp7 = "rowcellstyle[%d][%d]*+",</presyntaxhighlight>
to match all parameters of the form <code>headerNUM</code>, <code>labelNUM</code>, <code>dataNUM</code>, <code>dataNUMa</code>, <code>dataNUMb</code>, <code>dataNUMc</code>, ..., <code>rowcellstyleNUM</code>, where NUM is a string of digits.
== Example ==
<presyntaxhighlight lang="wikitext">
{{Infobox
| above = {{{name|}}}
end infobox, start tracking
-->{{#invoke:Check for unknown parameters|check
| unknown = {{main Main other|[[Category:Some tracking category|_VALUE_]]}}
| preview = unknown parameter "_VALUE_"
| name
| website
}}
</presyntaxhighlight> ==Call from within Lua code==See the end of [[Module:Rugby box]] for a simple example or [[Module:Infobox3cols]] or [[Module:Flag]] for more complicated examples.
==See also==
* {{clcClc|Unknown parameters}} (category page can have header {{tl|Unknown parameters category}})* [[Module:Params]] – for complex operations involving parameters* [[Template:Checks for unknown parameters]] – adds documentation to templates using this module* [[Module:Check for deprecated parameters]] – similar module that checks for deprecated parameters* [[:Module:Check for clobbered parameters]] – module that checks for conflicting parameters
* [[Module:TemplatePar]] – similar function (originally from dewiki)
* [[Template:Parameters]] and [[Module:Parameters]] – generates a list of parameter names for a given template
* [[Project:TemplateData]] based template parameter validation
* [[User:Bamyers99/TemplateParametersTool]] - A tool for checking usage of template parameters
<includeonly>{{sandbox Sandbox other||
<!-- Categories go here and interwikis go in Wikidata. -->
[[Category:Modules that add a tracking category]]
}}</includeonly>