eZ\Publish\Core\FieldType\Country\Type::validate PHP Method

validate() public method

Does not use validators.
public validate ( eZ\Publish\API\Repository\Values\ContentType\FieldDefinition $fieldDefinition, eZ\Publish\SPI\FieldType\Value $fieldValue ) : eZ\Publish\SPI\FieldType\ValidationError[]
$fieldDefinition eZ\Publish\API\Repository\Values\ContentType\FieldDefinition The field definition of the field
$fieldValue eZ\Publish\SPI\FieldType\Value The field value for which an action is performed
return eZ\Publish\SPI\FieldType\ValidationError[]
    public function validate(FieldDefinition $fieldDefinition, SPIValue $fieldValue)
    {
        $validationErrors = array();
        if ($this->isEmptyValue($fieldValue)) {
            return $validationErrors;
        }
        $fieldSettings = $fieldDefinition->getFieldSettings();
        if ((!isset($fieldSettings['isMultiple']) || $fieldSettings['isMultiple'] === false) && count($fieldValue->countries) > 1) {
            $validationErrors[] = new ValidationError('Field definition does not allow multiple countries to be selected.', null, array(), 'countries');
        }
        foreach ($fieldValue->countries as $alpha2 => $countryInfo) {
            if (!isset($this->countriesInfo[$alpha2])) {
                $validationErrors[] = new ValidationError("Country with Alpha2 code '%alpha2%' is not defined in FieldType settings.", null, array('%alpha2%' => $alpha2), 'countries');
            }
        }
        return $validationErrors;
    }