public static function isValid(&$properties_dictionary, $limit_to_keys, &$error) { // Check each property is valid // if (!parent::isValid($properties_dictionary, $limit_to_keys, $error)) { return false; } if (ValidationC::should_test_property(CONFINED_DATE_START, $properties_dictionary, true, $limit_to_keys) && !ConfinedDate::propertyIsValid(CONFINED_DATE_START, $properties_dictionary[CONFINED_DATE_START], $error)) { // Start date was not valid // return false; } if (ValidationC::should_test_property(CONFINED_DATE_END, $properties_dictionary, true, $limit_to_keys) && !ConfinedDate::propertyIsValid(CONFINED_DATE_END, $properties_dictionary[CONFINED_DATE_END], $error)) { // End date was not valid // return false; } if (ValidationC::should_test_property(CONFINED_DATE_START, $properties_dictionary, true, $limit_to_keys) && ValidationC::should_test_property(CONFINED_DATE_END, $properties_dictionary, true, $limit_to_keys)) { // Start is before end // if ($properties_dictionary[CONFINED_DATE_START] > $properties_dictionary[CONFINED_DATE_END]) { $error = Error::withDomain(VALIDATION_ERROR_DOMAIN, VALIDATION_ERROR_CODE_INVALID_PROPERTY, 'Start date must be before end.'); return false; } } return true; }