MediaWiki master
|
Type definition base class for numeric types. More...
Inherits Wikimedia\ParamValidator\TypeDef.
Inherited by Wikimedia\ParamValidator\TypeDef\FloatDef, and Wikimedia\ParamValidator\TypeDef\IntegerDef.
Public Member Functions | |||||||||||||
checkSettings (string $name, $settings, array $options, array $ret) | |||||||||||||
Validate a parameter settings array.This is intended for validation of parameter settings during unit or integration testing, and should implement strict checks.The rest of the code should generally be more permissive.
| |||||||||||||
getHelpInfo ( $name, array $settings, array $options) | |||||||||||||
Describe parameter settings in human-readable format.Keys in the returned array should generally correspond to PARAM constants.If relevant, a MessageValue describing the type itself should be returned with key ParamValidator::PARAM_TYPE.The default messages for other ParamValidator-defined PARAM constants may be suppressed by returning null as the value for those constants, or replaced by returning a replacement MessageValue. Normally, however, the default messages should not be changed.MessageValues describing any other constraints applied via PARAM constants specific to this class should also be returned.
| |||||||||||||
getParamInfo ( $name, array $settings, array $options) | |||||||||||||
Describe parameter settings in a machine-readable format.Keys should be short strings using lowercase ASCII letters. Values should generally be values that could be encoded in JSON or the like.This is intended to handle PARAM constants specific to this class. It generally shouldn't handle constants defined on ParamValidator itself.
| |||||||||||||
normalizeSettings (array $settings) | |||||||||||||
Normalize a settings array.
| |||||||||||||
Public Member Functions inherited from Wikimedia\ParamValidator\TypeDef | |||||||||||||
__construct (Callbacks $callbacks) | |||||||||||||
getEnumValues ( $name, array $settings, array $options) | |||||||||||||
Get the values for enum-like parameters. | |||||||||||||
getValue ( $name, array $settings, array $options) | |||||||||||||
Get the value from the request. | |||||||||||||
stringifyValue ( $name, $value, array $settings, array $options) | |||||||||||||
Convert a value to a string representation. | |||||||||||||
supportsArrays () | |||||||||||||
Whether the value may be an array. | |||||||||||||
validate ( $name, $value, array $settings, array $options) | |||||||||||||
Validate the value. | |||||||||||||
Public Attributes | |
const | PARAM_IGNORE_RANGE = 'param-ignore-range' |
(bool) Whether to enforce the specified range. | |
const | PARAM_MAX = 'param-max' |
(int|float) Maximum allowed value (normal limits) | |
const | PARAM_MAX2 = 'param-max2' |
(int|float) Maximum allowed value (high limits) | |
const | PARAM_MIN = 'param-min' |
(int|float) Minimum allowed value. | |
Public Attributes inherited from Wikimedia\ParamValidator\TypeDef | |
const | OPT_ENFORCE_JSON_TYPES = 'enforce-json-types' |
Option that instructs TypeDefs to enforce the native type of parameter values, instead of allowing string values as input. | |
const | OPT_LOG_BAD_TYPES = 'log-bad-types' |
Protected Member Functions | |
checkRange ( $value, $name, $origValue, array $settings, array $options) | |
Check the range of a value. | |
Protected Member Functions inherited from Wikimedia\ParamValidator\TypeDef | |
failIfNotString (string $name, $value, array $settings, array $options) | |
Fails if $value is not a string. | |
failure ( $failure, $name, $value, array $settings, array $options, $fatal=true) | |
Record a failure message. | |
failureMessage ( $code, array $data=null, $suffix=null) | |
Create a DataMessageValue representing a failure. | |
fatal ( $failure, $name, $value, array $settings, array $options) | |
Throw a ValidationException. | |
Protected Attributes | |
string | $valueType = 'integer' |
PHP type (as from gettype() ) of values this NumericDef handles. | |
Protected Attributes inherited from Wikimedia\ParamValidator\TypeDef | |
Callbacks | $callbacks |
Type definition base class for numeric types.
Definition at line 26 of file NumericDef.php.
|
protected |
Check the range of a value.
int | float | $value | Value to check. |
string | $name | Parameter name being validated. |
mixed | $origValue | Original value being validated. |
array | $settings | Parameter settings array. |
array | $options | Options array. |
ValidationException | if the value out of range, and PARAM_IGNORE_RANGE wasn't set. |
Definition at line 64 of file NumericDef.php.
References Wikimedia\ParamValidator\TypeDef\failure(), Wikimedia\ParamValidator\TypeDef\failureMessage(), Wikimedia\ParamValidator\TypeDef\NumericDef\PARAM_MAX, Wikimedia\ParamValidator\TypeDef\NumericDef\PARAM_MAX2, and Wikimedia\ParamValidator\TypeDef\NumericDef\PARAM_MIN.
Referenced by Wikimedia\ParamValidator\TypeDef\FloatDef\validate(), and Wikimedia\ParamValidator\TypeDef\IntegerDef\validate().
Wikimedia\ParamValidator\TypeDef\NumericDef::checkSettings | ( | string | $name, |
$settings, | |||
array | $options, | ||
array | $ret ) |
Validate a parameter settings array.This is intended for validation of parameter settings during unit or integration testing, and should implement strict checks.The rest of the code should generally be more permissive.
string | $name | Parameter name |
array | mixed | $settings | Default value or an array of settings using PARAM_* constants. |
array | $options | Options array, passed through to the TypeDef and Callbacks. |
array | $ret |
|
Reimplemented from Wikimedia\ParamValidator\TypeDef.
Reimplemented in Wikimedia\ParamValidator\TypeDef\LimitDef.
Definition at line 131 of file NumericDef.php.
Wikimedia\ParamValidator\TypeDef\NumericDef::getHelpInfo | ( | $name, | |
array | $settings, | ||
array | $options ) |
Describe parameter settings in human-readable format.Keys in the returned array should generally correspond to PARAM constants.If relevant, a MessageValue describing the type itself should be returned with key ParamValidator::PARAM_TYPE.The default messages for other ParamValidator-defined PARAM constants may be suppressed by returning null as the value for those constants, or replaced by returning a replacement MessageValue. Normally, however, the default messages should not be changed.MessageValues describing any other constraints applied via PARAM constants specific to this class should also be returned.
string | $name | Parameter name being described. |
array | $settings | Parameter settings array. |
array | $options | Options array. |
Reimplemented from Wikimedia\ParamValidator\TypeDef.
Reimplemented in Wikimedia\ParamValidator\TypeDef\FloatDef, Wikimedia\ParamValidator\TypeDef\IntegerDef, and Wikimedia\ParamValidator\TypeDef\LimitDef.
Definition at line 192 of file NumericDef.php.
References Wikimedia\Message\ParamType\NUM, and Wikimedia\ParamValidator\ParamValidator\PARAM_ISMULTI.
Wikimedia\ParamValidator\TypeDef\NumericDef::getParamInfo | ( | $name, | |
array | $settings, | ||
array | $options ) |
Describe parameter settings in a machine-readable format.Keys should be short strings using lowercase ASCII letters. Values should generally be values that could be encoded in JSON or the like.This is intended to handle PARAM constants specific to this class. It generally shouldn't handle constants defined on ParamValidator itself.
string | $name | Parameter name. |
array | $settings | Parameter settings array. |
array | $options | Options array. |
Reimplemented from Wikimedia\ParamValidator\TypeDef.
Definition at line 175 of file NumericDef.php.
Wikimedia\ParamValidator\TypeDef\NumericDef::normalizeSettings | ( | array | $settings | ) |
Normalize a settings array.
array | $settings |
Reimplemented from Wikimedia\ParamValidator\TypeDef.
Reimplemented in Wikimedia\ParamValidator\TypeDef\LimitDef.
Definition at line 113 of file NumericDef.php.
References Wikimedia\ParamValidator\TypeDef\NumericDef\PARAM_MAX, and Wikimedia\ParamValidator\TypeDef\NumericDef\PARAM_MAX2.
|
protected |
PHP type (as from gettype()
) of values this NumericDef handles.
Definition at line 51 of file NumericDef.php.
const Wikimedia\ParamValidator\TypeDef\NumericDef::PARAM_IGNORE_RANGE = 'param-ignore-range' |
(bool) Whether to enforce the specified range.
If set and truthy, the 'outofrange' failure is non-fatal.
Definition at line 33 of file NumericDef.php.
const Wikimedia\ParamValidator\TypeDef\NumericDef::PARAM_MAX = 'param-max' |
(int|float) Maximum allowed value (normal limits)
Definition at line 43 of file NumericDef.php.
Referenced by Wikimedia\ParamValidator\TypeDef\NumericDef\checkRange(), Wikimedia\ParamValidator\TypeDef\NumericDef\normalizeSettings(), and Wikimedia\ParamValidator\TypeDef\LimitDef\validate().
const Wikimedia\ParamValidator\TypeDef\NumericDef::PARAM_MAX2 = 'param-max2' |
(int|float) Maximum allowed value (high limits)
Definition at line 48 of file NumericDef.php.
Referenced by Wikimedia\ParamValidator\TypeDef\NumericDef\checkRange(), Wikimedia\ParamValidator\TypeDef\NumericDef\normalizeSettings(), and Wikimedia\ParamValidator\TypeDef\LimitDef\validate().
const Wikimedia\ParamValidator\TypeDef\NumericDef::PARAM_MIN = 'param-min' |
(int|float) Minimum allowed value.
Definition at line 38 of file NumericDef.php.
Referenced by Wikimedia\ParamValidator\TypeDef\NumericDef\checkRange().