This is the documentation page for Module:Parameter validation
This Lua module is used on many pages and changes may be widely noticed. Test changes in the module's /sandbox or /testcases subpages, or in your own module sandbox. Consider discussing changes on the talk page before implementing them. |
This module depends on the following other modules: |
This module helps you find problematic usages of a template's parameters. Compared to Module:Check for unknown parameters, you do not need to create long lists of parameters which should be categorised; it will automatically read them from the template's TemplateData. This means you don't need to define the parameter configuration in multiple places, which will inevitably lead to it being out of sync.
As well as that, it supports a few other types of errors, such as defining the same parameter multiple times, or using deprecated parameters (useful to do so you can replace usages before removing support for a parameter entirely).
Basic usage
Add this to the bottom of a template:
{{#invoke:Parameter validation|validateparams|module_options = Module:Parameter validation/default config}}
This will use the default config defined in Module:Parameter validation/default config. The module will begin to populate the following categories:
- Category:Pages using TEMPLATE_NAME with unknown parameters
- Category:Pages using TEMPLATE_NAME with deprecated parameters
- Category:Pages using TEMPLATE_NAME with duplicate parameters
For example, for {{Infobox station}}, it will populate:
- Category:Pages using infobox station with unknown parameters
- Category:Pages using infobox station with deprecated parameters
- Category:Pages using infobox station with duplicate parameters
Note that:
- Unknown parameters means a page calling the template used a parameter that does not exist in the template documentation's TemplateData section
- Deprecated parameters means a page calling the template used a parameter which, in the template's TemplateData, has the 'deprecated' option ticked
- Duplicate parameters means a page calling the template and set a value for a parameter and one or more of its aliases
Use in protected templates
Note that because templates' TemplateData code typically lives in unprotected /doc pages, protected templates that invoke this module can be made to incorrectly categorize pages by editors who do not have user rights sufficient to edit the template page itself.
Full documentation
This module is based on idea and original code of User:IKhitron.
The source of this module, along with the original documentation, can be found at he:Module:ParamValidator.