HttpMethodRule extends ConstantsRule
Rule: Validates that a given value is a supported HTTP method as defined in {@see HttpMethod}.
Usage
This rule ensures that the provided value matches one of the allowed HTTP methods, typically one of:
GET, POST, PUT, PATCH, DELETE, HEAD, OPTIONS, TRACE, CONNECT, PURGE
Examples
use oihana\validations\rules\http\HttpMethodRule;
use Somnambulist\Components\Validation\Validator;
$rule = new HttpMethodRule();
$validator = new Validator
(
['method' => 'GET'],
['method' => [$rule]]
);
$validator->passes(); // true
$validator = new Validator
(
['method' => 'FOO'],
['method' => [$rule]]
);
$validator->fails(); // true — "method is not a valid HTTP method."
Customization
You can restrict validation to a subset of HTTP methods:
$rule = new HttpMethodRule(['GET', 'POST', 'DELETE']);
$rule->check('PATCH'); // false
Tags
Table of Contents
Constants
- CASES = 'cases'
- The parameter key used to store the valid constants list.
- CLASS_NAME = 'className'
- The parameter key for the constants class name.
Properties
- $cases : array<string|int, mixed>
- The list of valid constant values used by this rule.
- $fillableParams : array<string|int, string>
- The parameters that must be present for the rule to function.
- $message : string
- The internal message pattern.
Methods
- __construct() : mixed
- Creates a new HttpMethodRule instance.
- cases() : static
- Sets or overrides the list of valid constant values.
- check() : bool
- Checks if the given value is one of the allowed constant values.
- className() : static
- Sets the class name that provides the constants.
Constants
CASES
The parameter key used to store the valid constants list.
public
mixed
CASES
= 'cases'
CLASS_NAME
The parameter key for the constants class name.
public
mixed
CLASS_NAME
= 'className'
Properties
$cases
The list of valid constant values used by this rule.
protected
array<string|int, mixed>
$cases
= []
$fillableParams
The parameters that must be present for the rule to function.
protected
array<string|int, string>
$fillableParams
= [self::CLASS_NAME, self::CASES]
$message
The internal message pattern.
protected
string
$message
= ":attribute is not a valid HTTP method."
Methods
__construct()
Creates a new HttpMethodRule instance.
public
__construct([array<string|int, string>|null $cases = null ]) : mixed
Parameters
- $cases : array<string|int, string>|null = null
-
Optional list of allowed algorithms. Defaults to all algorithms from HttpMethod::enums().
Tags
cases()
Sets or overrides the list of valid constant values.
public
cases([array<string|int, mixed>|null $cases = null ]) : static
If $cases is null or empty, it defaults to all enums from the class.
Parameters
- $cases : array<string|int, mixed>|null = null
-
The constant values to allow in this rule.
Tags
Return values
staticcheck()
Checks if the given value is one of the allowed constant values.
public
check(mixed $value) : bool
Parameters
- $value : mixed
-
The value to validate.
Tags
Return values
bool —True if the value is a valid algorithm, false otherwise.
className()
Sets the class name that provides the constants.
public
className(ConstantsTrait> $className) : static
Parameters
- $className : ConstantsTrait>
-
The fully qualified class name.