---
title: "Feature: #83167 - Replace @validate with @TYPO3\\CMS\\Extbase\\Annotation\\Validate"
manual: "TYPO3 Core Changelog"
version: "main"
permalink: "https://docs.typo3.org/permalink/changelog:feature-83167"
source: "Changelog/9.3/Feature-83167-ReplaceValidateWithTYPO3CMSExtbaseAnnotationValidate.rst"
typo3-version: "9.3"
typo3-major: 9
type: "feature"
issue: 83167
forge: "https://forge.typo3.org/issues/83167"
tags: ["PHP-API", "ext:extbase", "FullyScanned"]
rendered: "2026-09-20T18:31:11+00:00"
---

# Feature: #83167 - Replace @validate with @TYPO3\\CMS\\Extbase\\Annotation\\Validate {#feature-83167}

See [forge#83167](https://forge.typo3.org/issues/83167)

## Description {#description}

As a successor to the `@validate` annotation, the doctrine annotation
`@TYPO3\CMS\Extbase\Annotation\Validate` has been introduced.

### Example: {#example}

```php
/**
 * @TYPO3\CMS\Extbase\Annotation\Validate
 * @var Foo
 */
public $property;
```

Doctrine annotations are actual defined classes, therefore you can also use the annotation with a use statement.

### Example: {#example-1}

```php
use TYPO3\CMS\Extbase\Annotation\Validate;
```

```php
/**
 * @Validate
 * @var Foo
 */
public $property;
```

Used annotations can also be aliased which the core will most likely be using a lot in the future.

### Example: {#example-2}

```php
use TYPO3\CMS\Extbase\Annotation as Extbase;
```

```php
/**
 * @Extbase\Validate
 * @var Foo
 */
public $property;
```

## Impact {#impact}

In v9 there is no actual impact. Both the simple `@validate` and
`@TYPO3\CMS\Extbase\Annotation\Validate` can be used side by side.
However, `@validate` is deprecated in v9 and will be removed in v10.
