protected function validate($data, $id = null) { $errors = parent::validate($data, $id); if (!array_key_exists('password', $errors) && array_key_exists('password', $data) && (array_key_exists('pass2', $data) && $data['password'] != $data['pass2'] || !array_key_exists('pass2', $data))) { $errors['password'] = lang('pass_dont_match'); } if (!array_key_exists('city_id', $errors) && array_key_exists('city_id', $data)) { $gm = new GoogleMapAPI(); $coords = $gm->geoPlaceCoords($data['city_id']); if (!$coords) { $errors['city_id'] = sprintf(lang('invalid_field'), ucfirst(lang('city_id'))); } } return $errors; }