MediaWiki REL1_39
|
Base definition for ParamValidator types. More...
Public Member Functions | |
__construct (Callbacks $callbacks) | |
checkSettings (string $name, $settings, array $options, array $ret) | |
Validate a parameter settings array. | |
getEnumValues ( $name, array $settings, array $options) | |
Get the values for enum-like parameters. | |
getHelpInfo ( $name, array $settings, array $options) | |
Describe parameter settings in human-readable format. | |
getParamInfo ( $name, array $settings, array $options) | |
Describe parameter settings in a machine-readable format. | |
getValue ( $name, array $settings, array $options) | |
Get the value from the request. | |
normalizeSettings (array $settings) | |
Normalize a settings array. | |
stringifyValue ( $name, $value, array $settings, array $options) | |
Convert a value to a string representation. | |
validate ( $name, $value, array $settings, array $options) | |
Validate the value. | |
Protected Member Functions | |
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. | |
Protected Attributes | |
Callbacks | $callbacks |
Base definition for ParamValidator types.
Most methods in this class accept an "options array". This is just the $options
passed to ParamValidator::getValue(), ParamValidator::validateValue(), and the like and is intended for communication of non-global state to the Callbacks.
Definition at line 19 of file TypeDef.php.
Wikimedia\ParamValidator\TypeDef::__construct | ( | Callbacks | $callbacks | ) |
Callbacks | $callbacks |
Reimplemented in MediaWiki\ParamValidator\TypeDef\TagsDef.
Definition at line 29 of file TypeDef.php.
Wikimedia\ParamValidator\TypeDef::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 in MediaWiki\Api\Validator\SubmoduleDef, Wikimedia\ParamValidator\TypeDef\EnumDef, Wikimedia\ParamValidator\TypeDef\ExpiryDef, Wikimedia\ParamValidator\TypeDef\LimitDef, Wikimedia\ParamValidator\TypeDef\NumericDef, Wikimedia\ParamValidator\TypeDef\PasswordDef, Wikimedia\ParamValidator\TypeDef\PresenceBooleanDef, Wikimedia\ParamValidator\TypeDef\StringDef, Wikimedia\ParamValidator\TypeDef\TimestampDef, Wikimedia\ParamValidator\TypeDef\UploadDef, MediaWiki\ParamValidator\TypeDef\NamespaceDef, MediaWiki\ParamValidator\TypeDef\TitleDef, and MediaWiki\ParamValidator\TypeDef\UserDef.
Definition at line 167 of file TypeDef.php.
|
protected |
Record a failure message.
Depending on $fatal
, this will either throw a ValidationException or call $this->callbacks->recordCondition().
Note that parameters for $name
and $value
are always added as $1
and $2
.
DataMessageValue | string | $failure | Failure code or message. |
string | $name | Parameter name being validated. |
mixed | $value | Value being validated. |
array | $settings | Parameter settings array. |
array | $options | Options array. |
bool | $fatal | Whether the failure is fatal |
Definition at line 49 of file TypeDef.php.
References Wikimedia\ParamValidator\TypeDef\failureMessage(), and Wikimedia\ParamValidator\TypeDef\stringifyValue().
Referenced by Wikimedia\ParamValidator\TypeDef\NumericDef\checkRange(), Wikimedia\ParamValidator\TypeDef\BooleanDef\validate(), Wikimedia\ParamValidator\TypeDef\EnumDef\validate(), Wikimedia\ParamValidator\TypeDef\ExpiryDef\validate(), Wikimedia\ParamValidator\TypeDef\FloatDef\validate(), Wikimedia\ParamValidator\TypeDef\IntegerDef\validate(), Wikimedia\ParamValidator\TypeDef\StringDef\validate(), Wikimedia\ParamValidator\TypeDef\TimestampDef\validate(), Wikimedia\ParamValidator\TypeDef\UploadDef\validate(), MediaWiki\ParamValidator\TypeDef\TitleDef\validate(), and MediaWiki\ParamValidator\TypeDef\UserDef\validate().
|
protected |
Create a DataMessageValue representing a failure.
The message key will be "paramvalidator-$code" or "paramvalidator-$code-$suffix".
Use DataMessageValue's param mutators to add additional MessageParams. Note that failure()
will prepend parameters for $name
and $value
.
string | $code | Failure code. |
array | null | $data | Failure data. |
string | null | $suffix | Suffix to append when producing the message key |
Definition at line 84 of file TypeDef.php.
Referenced by Wikimedia\ParamValidator\TypeDef\NumericDef\checkRange(), Wikimedia\ParamValidator\TypeDef\failure(), Wikimedia\ParamValidator\TypeDef\BooleanDef\validate(), Wikimedia\ParamValidator\TypeDef\EnumDef\validate(), Wikimedia\ParamValidator\TypeDef\StringDef\validate(), Wikimedia\ParamValidator\TypeDef\TimestampDef\validate(), and Wikimedia\ParamValidator\TypeDef\UploadDef\validate().
Wikimedia\ParamValidator\TypeDef::getEnumValues | ( | $name, | |
array | $settings, | ||
array | $options ) |
Get the values for enum-like parameters.
This is primarily intended for documentation and implementation of PARAM_ALL; it is the responsibility of the TypeDef to ensure that validate() accepts the values returned here.
string | $name | Parameter name being validated. |
array | $settings | Parameter settings array. |
array | $options | Options array. |
Reimplemented in MediaWiki\Api\Validator\SubmoduleDef, Wikimedia\ParamValidator\TypeDef\EnumDef, MediaWiki\ParamValidator\TypeDef\NamespaceDef, and MediaWiki\ParamValidator\TypeDef\TagsDef.
Definition at line 185 of file TypeDef.php.
Referenced by Wikimedia\ParamValidator\TypeDef\EnumDef\getParamInfo().
Wikimedia\ParamValidator\TypeDef::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 in Wikimedia\ParamValidator\TypeDef\BooleanDef, Wikimedia\ParamValidator\TypeDef\EnumDef, Wikimedia\ParamValidator\TypeDef\ExpiryDef, Wikimedia\ParamValidator\TypeDef\FloatDef, Wikimedia\ParamValidator\TypeDef\IntegerDef, Wikimedia\ParamValidator\TypeDef\LimitDef, Wikimedia\ParamValidator\TypeDef\NumericDef, Wikimedia\ParamValidator\TypeDef\PresenceBooleanDef, Wikimedia\ParamValidator\TypeDef\StringDef, Wikimedia\ParamValidator\TypeDef\TimestampDef, Wikimedia\ParamValidator\TypeDef\UploadDef, MediaWiki\ParamValidator\TypeDef\TitleDef, and MediaWiki\ParamValidator\TypeDef\UserDef.
Definition at line 250 of file TypeDef.php.
Wikimedia\ParamValidator\TypeDef::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 in MediaWiki\Api\Validator\SubmoduleDef, Wikimedia\ParamValidator\TypeDef\EnumDef, Wikimedia\ParamValidator\TypeDef\NumericDef, Wikimedia\ParamValidator\TypeDef\PresenceBooleanDef, Wikimedia\ParamValidator\TypeDef\StringDef, MediaWiki\ParamValidator\TypeDef\NamespaceDef, MediaWiki\ParamValidator\TypeDef\TitleDef, and MediaWiki\ParamValidator\TypeDef\UserDef.
Definition at line 223 of file TypeDef.php.
Wikimedia\ParamValidator\TypeDef::getValue | ( | $name, | |
array | $settings, | ||
array | $options ) |
Get the value from the request.
string | $name | Parameter name being fetched. |
array | $settings | Parameter settings array. |
array | $options | Options array. |
Reimplemented in Wikimedia\ParamValidator\TypeDef\PresenceBooleanDef, and Wikimedia\ParamValidator\TypeDef\UploadDef.
Definition at line 107 of file TypeDef.php.
Wikimedia\ParamValidator\TypeDef::normalizeSettings | ( | array | $settings | ) |
Normalize a settings array.
array | $settings |
Reimplemented in Wikimedia\ParamValidator\TypeDef\LimitDef, Wikimedia\ParamValidator\TypeDef\NumericDef, Wikimedia\ParamValidator\TypeDef\PasswordDef, Wikimedia\ParamValidator\TypeDef\PresenceBooleanDef, MediaWiki\ParamValidator\TypeDef\NamespaceDef, and MediaWiki\ParamValidator\TypeDef\UserDef.
Definition at line 139 of file TypeDef.php.
Wikimedia\ParamValidator\TypeDef::stringifyValue | ( | $name, | |
$value, | |||
array | $settings, | ||
array | $options ) |
Convert a value to a string representation.
This is intended as the inverse of getValue() and validate(): this should accept anything returned by those methods or expected to be used as PARAM_DEFAULT, and if the string from this method is passed in as client input or PARAM_DEFAULT it should give equivalent output from validate().
string | $name | Parameter name being converted. |
mixed | $value | Parameter value being converted. Do not pass null. |
array | $settings | Parameter settings array. |
array | $options | Options array. |
Reimplemented in Wikimedia\ParamValidator\TypeDef\BooleanDef, Wikimedia\ParamValidator\TypeDef\EnumDef, Wikimedia\ParamValidator\TypeDef\FloatDef, Wikimedia\ParamValidator\TypeDef\IntegerDef, Wikimedia\ParamValidator\TypeDef\TimestampDef, Wikimedia\ParamValidator\TypeDef\UploadDef, and MediaWiki\ParamValidator\TypeDef\TitleDef.
Definition at line 204 of file TypeDef.php.
Referenced by Wikimedia\ParamValidator\TypeDef\failure().
|
abstract |
Validate the value.
When ParamValidator is processing a multi-valued parameter, this will be called once for each of the supplied values. Which may mean zero calls.
When getValue() returned null, this will not be called.
string | $name | Parameter name being validated. |
mixed | $value | Value to validate, from getValue(). |
array | $settings | Parameter settings array. |
array | $options | Options array. Note the following values that may be set by ParamValidator:
|
ValidationException | if the value is invalid |
Reimplemented in Wikimedia\ParamValidator\TypeDef\BooleanDef, Wikimedia\ParamValidator\TypeDef\EnumDef, Wikimedia\ParamValidator\TypeDef\ExpiryDef, Wikimedia\ParamValidator\TypeDef\FloatDef, Wikimedia\ParamValidator\TypeDef\IntegerDef, Wikimedia\ParamValidator\TypeDef\LimitDef, Wikimedia\ParamValidator\TypeDef\PresenceBooleanDef, Wikimedia\ParamValidator\TypeDef\StringDef, Wikimedia\ParamValidator\TypeDef\TimestampDef, Wikimedia\ParamValidator\TypeDef\UploadDef, MediaWiki\ParamValidator\TypeDef\NamespaceDef, MediaWiki\ParamValidator\TypeDef\TagsDef, MediaWiki\ParamValidator\TypeDef\TitleDef, and MediaWiki\ParamValidator\TypeDef\UserDef.
|
protected |
Definition at line 22 of file TypeDef.php.
Referenced by MediaWiki\ParamValidator\TypeDef\TagsDef\__construct(), Wikimedia\ParamValidator\TypeDef\StringDef\__construct(), Wikimedia\ParamValidator\TypeDef\TimestampDef\__construct(), MediaWiki\ParamValidator\TypeDef\NamespaceDef\__construct(), MediaWiki\ParamValidator\TypeDef\TitleDef\__construct(), and MediaWiki\ParamValidator\TypeDef\UserDef\__construct().