/** * Test validate method. * @covers Rentalhost\VanillaValidation\ValidationFieldList::validate */ public function testValidate() { $fieldList = new ValidationFieldList(); $fieldList->add('name1', 'value1')->string()->required(); $fieldList->add('name2', 'value2')->string()->required(); $fieldListResult = $fieldList->validate(); static::assertTrue($fieldListResult->isSuccess()); static::assertCount(0, $fieldListResult->getFails()); static::assertCount(4, $fieldListResult->getSuccesses()); $fieldList = new ValidationFieldList(); $fieldList->add('name1', 'value1')->string()->required(); $fieldList->add('name2', 123)->string()->required(); $fieldListResult = $fieldList->validate(); static::assertFalse($fieldListResult->isSuccess()); static::assertCount(1, $fieldListResult->getFails()); static::assertCount(3, $fieldListResult->getSuccesses()); $fieldList = new ValidationFieldList(); $fieldListResult = $fieldList->validate(); static::assertTrue($fieldListResult->isSuccess()); static::assertCount(0, $fieldListResult->getFails()); static::assertCount(0, $fieldListResult->getSuccesses()); }
/** * Add a field and return the instance. * * @param string $name Field name. * @param mixed|null $value Field value. * @param mixed|null $data Additional data to field. * * @return ValidationField */ public function field($name, $value = null, $data = null) { return $this->fields->add($name, $value, $data); }