コード例 #1
0
 public function testAlternative()
 {
     V::validate('foo', V::alternative()->any(V::string()->valid('foo'), V::boolean()), function ($err, $output) {
         $this->assertNull($err);
         $this->assertEquals('foo', $output);
     });
     V::validate(true, V::alternative()->any(V::string()->valid('foo'), V::boolean()), function ($err, $output) {
         $this->assertNull($err);
         $this->assertTrue(true, $output);
     });
     V::validate(null, V::alternative()->any(V::string()->valid('foo'), V::boolean()), function ($err, $output) {
         $this->assertEquals('none of the alternatives matched', $err);
         $this->assertNull($output);
     });
 }
コード例 #2
0
 /**
  * @return AbstractSchema
  */
 public function getOptionsSchema()
 {
     return V::arr()->keys(['search' => V::alternative(V::string()->min(1), V::arr()->notEmpty()), 'replace' => V::alternative(V::string(), V::arr()->notEmpty())]);
 }