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;
}