NoraLib Validation API Documentation

OneOfRule extends AbstractRule
in package

いずれか1つのルールだけが成功することを要求します(排他的OR)

複数のルールのうち、正確に1つだけが成功する必要があります。 0個成功または2個以上成功した場合は失敗となります。

OpenAPI 3.0の oneOf に対応します。

Tags
example
$validator = new Validator();
// 文字列または整数のいずれか1つだけ
$rule = $validator->oneOf([
    $validator->custom(fn($v) => is_string($v), 'Must be string'),
    $validator->custom(fn($v) => is_int($v), 'Must be integer')
]);
$rule->assert('hello'); // OK (stringのみ成功)
$rule->assert(123); // OK (integerのみ成功)
$rule->assert(12.34); // Exception (どちらも失敗)

Table of Contents

Properties

$message  : string
$rules  : array<string|int, mixed>

Methods

__construct()  : mixed
assert()  : void
validate()  : bool
raiseError()  : RuleExceptionInterface

Properties

$message

protected string $message = '正確に1つのルールのみが成功する必要があります。'

$rules

private array<string|int, mixed> $rules

Methods

__construct()

public __construct(array<string|int, ValidatorInterface$rules[, string $message = '正確に1つのルールのみが成功する必要があります。' ]) : mixed
Parameters
$rules : array<string|int, ValidatorInterface>
$message : string = '正確に1つのルールのみが成功する必要があります。'

assert()

public assert(mixed $value) : void
Parameters
$value : mixed

validate()

public validate(mixed $value) : bool
Parameters
$value : mixed
Return values
bool

        
On this page

Search results