Nette Schema – cast int|string na int a kontrola min/max

Robin Martinez
Člen | 89
+
0
-

Ahojda, mám třeba toto:

$schema = Expect::structure([
    'testBool' => Expect::bool(),
    'testScalarIntMin1' => Expect::scalar()->castTo('int')->min(1),
]);

$data = [
    'testBool' => true,
    'testScalarIntMin1' => '0',
];

a

print_r($processor->process($schema, $data));

mi vrací pro mne ‚špatnou‘ strukturu:

stdClass Object ( [testBool] => 1 [testScalarIntMin1] => 0 )

Tedy po přetypování skaláru na int nejede ta podmínka ‚min(1)‘

Jde toto nějak vyřešit?

Určitě to je něco mega-obvious a já jsem jen idiot. Jinak si samozřejmě můžu udělat vlastní validátor, jen mě zajímalo, jestli na tohle není ‚jednoduchý‘ postup.

Díky :)

Editoval Robin Martinez (24. 3. 2022 15:18)

Robin Martinez
Člen | 89
+
0
-

asi ne