PHPackages                             portrino/px\_validation - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Validation &amp; Sanitization](/categories/validation)
4. /
5. portrino/px\_validation

ActiveTypo3-cms-extension[Validation &amp; Sanitization](/categories/validation)

portrino/px\_validation
=======================

Extbase validation via TypoScript

4.0.0(1y ago)12.5k1GPL-2.0-or-laterPHP

Since Jan 21Pushed 5mo ago5 watchersCompare

[ Source](https://github.com/portrino/px_validation)[ Packagist](https://packagist.org/packages/portrino/px_validation)[ Docs](https://www.portrino.de)[ RSS](/packages/portrino-px-validation/feed)WikiDiscussions master Synced 1mo ago

READMEChangelogDependencies (11)Versions (19)Used By (0)

TYPO3 Extension `px_validation`
===============================

[](#typo3-extension-px_validation)

[![TYPO3 12](https://camo.githubusercontent.com/08afacc49187e63c796f7d1c4401d0f0563bab574d9c525312b2827acb09a7c5/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f5459504f332d31322d6f72616e67652e737667)](https://get.typo3.org/version/12)[![Latest Stable Version](https://camo.githubusercontent.com/2e786c8e64d2a898b68c5d2804d09e194aeb70359ae8b7dc7df203c99a68ea6e/68747470733a2f2f706f7365722e707567782e6f72672f706f727472696e6f2f70785f76616c69646174696f6e2f762f737461626c65)](https://packagist.org/packages/portrino/px_validation)[![Total Downloads](https://camo.githubusercontent.com/2eba621436a0f01586998e69d95eeaff659c5941a72ba69c99b4ffed3708c892/68747470733a2f2f706f7365722e707567782e6f72672f706f727472696e6f2f70785f76616c69646174696f6e2f646f776e6c6f616473)](https://packagist.org/packages/portrino/px_validation)[![Monthly Downloads](https://camo.githubusercontent.com/a1ec1af41a7bb8b9c289b1d7877b24b41c4841e18468917708a4a8ccc87c56f9/68747470733a2f2f706f7365722e707567782e6f72672f706f727472696e6f2f70785f76616c69646174696f6e2f642f6d6f6e74686c79)](https://packagist.org/packages/portrino/px_validation)[![License](https://camo.githubusercontent.com/97c88cf6f3a0ac7b4e5d88da2235abea23392d37c147ef9d4efb02c408a6f7e9/68747470733a2f2f706f7365722e707567782e6f72672f706f727472696e6f2f70785f76616c69646174696f6e2f6c6963656e7365)](https://packagist.org/packages/portrino/px_validation)[![CI](https://github.com/portrino/px_validation/actions/workflows/ci.yml/badge.svg)](https://github.com/portrino/px_validation/actions/workflows/ci.yml/badge.svg)

> Extbase validation controlled/ overruled via TypoScript for TYPO3 extensions

1 Features
----------

[](#1-features)

The **PxValidation** extension enables the possibility to define different validation configuration in your TypoScript for each **Extbase-Controller-Action** without touching the affected extension itself. This makes it easy to change the default validation behaviour of vendor extensions without changing their code. But the greatest benefit is that it opens the option to declare multiple variants of validation rules within one page tree. It is even possible to nest validation rules, so you can validate child objects.

- [Comprehensive documentation](https://docs.typo3.org/typo3cms/extensions/px_validation/)

2 Usage
-------

[](#2-usage)

### 2.1 Installation

[](#21-installation)

#### Installation using Composer

[](#installation-using-composer)

The **recommended** way to install the extension is using [Composer](https://getcomposer.org/).

Run the following command within your Composer based TYPO3 project:

```
composer require portrino/px_validation

```

#### Installation as extension from TYPO3 Extension Repository (TER)

[](#installation-as-extension-from-typo3-extension-repository-ter)

Download and install the [extension](https://extensions.typo3.org/extension/px_validation) with the extension manager module.

### 2.2 Setup

[](#22-setup)

1. Include the static TypoScript of the extension.
2. Create some TypoScript in your e.g. "site\_package" extension to override the validation rules of any other extension
    1. See example below:

#### Example:

[](#example)

##### PHP:

[](#php)

```

namespace VendorName\ExtensionName\Controller;

class FooController extends \TYPO3\CMS\Extbase\Mvc\Controller\ActionController {

    /**
     * action create
     *
     * @param \VendorName\ExtensionName\Domain\Model\FooBar $fooBar
     * @return void
     */
    public function createAction(\VendorName\ExtensionName\Domain\Model\FooBar $fooBar) {
        ...
    }
}

```

##### TypoScript:

[](#typoscript)

```

plugin.tx_pxvalidation.settings {
    VendorName\ExtensionName\Controller\FooController {
        actionMethodName {
            fooBar {
                # (default 0) if 1, then the validation rules defined in the property, model or controller are NOT executed
                overwriteDefaultValidation = 1
                objectValidators {
                    0 = @TYPO3\CMS\Extbase\Annotation\Validate("VendorName\ExtensionName\Domain\Validator\FooValidator", options={"firstOption": value1, "secondOption": 123456})
                    1 = @TYPO3\CMS\Extbase\Annotation\Validate("VendorName\ExtensionName\Domain\Validator\BarValidator", options={"firstOption": value1})
                }
                propertyValidators {
                    foo {
                        0 = @TYPO3\CMS\Extbase\Annotation\Validate("NotEmpty")
                    }
                    bar {
                        0 = @TYPO3\CMS\Extbase\Annotation\Validate("NotEmpty")
                        1 = @TYPO3\CMS\Extbase\Annotation\Validate("StringLength", options={"minimum": 3, "maximum": 50})
                        2 = @TYPO3\CMS\Extbase\Annotation\Validate("VendorName\ExtensionName\Domain\Validator\CustomValidator", options={"firstOption": value1})
                    }
                    childObject {
                        propertyValidators {
                            subProperty1 {
                                0 = @TYPO3\CMS\Extbase\Annotation\Validate("NotEmpty")
                            }
                            subProperty2 {
                                0 = @TYPO3\CMS\Extbase\Annotation\Validate("NotEmpty")
                            }
                            #...
                        }
                    }
                }
            }
        }
    }
}

```

3 Administration corner
-----------------------

[](#3-administration-corner)

### 3.1 Changelog

[](#31-changelog)

Please look into the [CHANGELOG file in the extension](https://github.com/portrino/px_validation/blob/master/CHANGELOG.md).

### 3.2 Release Management

[](#32-release-management)

**PxValidation** uses [**semantic versioning**](https://semver.org/), which means, that

- **bugfix updates** (e.g. 1.0.0 =&gt; 1.0.1) just includes small bugfixes or security relevant stuff without breaking changes,
- **minor updates** (e.g. 1.0.0 =&gt; 1.1.0) includes new features and smaller tasks without breaking changes,
- and **major updates** (e.g. 1.0.0 =&gt; 2.0.0) breaking changes wich can be refactorings, features or bugfixes.

PxValidationTYPO3PHPSupport / Development4.0.x12.48.1 - 8.3features, bugfixes, security updates3.0.x11.57.4 - 8.2bugfixes, security updates2.0.x9.5 - 10.47.2 - 7.4none1.2.x9.57.2 - 7.4none1.1.x6.2 - 8.75.5 - 7.4none### 3.3 Contribution

[](#33-contribution)

**Pull Requests** are gladly welcome! Nevertheless, please don't forget to add an issue and connect it to your pull requests. This is very helpful to understand what kind of issue the **PR** is going to solve.

Bugfixes: Please describe what kind of bug your fix solve and give us feedback how to reproduce the issue. We're going to accept only bugfixes if we can reproduce the issue.

4 Authors
---------

[](#4-authors)

- See the list of [contributors](https://github.com/portrino/px_dbsequencer/graphs/contributors) who participated in this project.

---

###  Health Score

44

—

FairBetter than 92% of packages

Maintenance56

Moderate activity, may be stable

Popularity23

Limited adoption so far

Community13

Small or concentrated contributor base

Maturity72

Established project with proven stability

 Bus Factor1

Top contributor holds 72.5% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~226 days

Recently: every ~139 days

Total

15

Last Release

601d ago

Major Versions

1.1.3 → 2.0.02022-03-08

2.x-dev → 3.0.02023-03-17

3.x-dev → 4.0.02024-09-24

PHP version history (3 changes)1.2.1PHP &gt;=7.0.0

2.0.0PHP &gt;=7.2.0

3.0.0PHP ^7.4 || ^8.0

### Community

Maintainers

![](https://www.gravatar.com/avatar/03867e1d2497d7cb7feb932fb301387e143503bfd17c584ef90347b3d7942cf1?d=identicon)[portrino-dev](/maintainers/portrino-dev)

---

Top Contributors

[![EvilBMP](https://avatars.githubusercontent.com/u/540478?v=4)](https://github.com/EvilBMP "EvilBMP (29 commits)")[![aWuttig](https://avatars.githubusercontent.com/u/726519?v=4)](https://github.com/aWuttig "aWuttig (6 commits)")[![tgriessbach](https://avatars.githubusercontent.com/u/11647324?v=4)](https://github.com/tgriessbach "tgriessbach (5 commits)")

---

Tags

validationcmsextbasetypo3TypoScript

###  Code Quality

Static AnalysisPHPStan

Code StylePHP CS Fixer

Type Coverage Yes

### Embed Badge

![Health badge](/badges/portrino-px-validation/health.svg)

```
[![Health](https://phpackages.com/badges/portrino-px-validation/health.svg)](https://phpackages.com/packages/portrino-px-validation)
```

###  Alternatives

[typo3/cms

TYPO3 CMS is a free open source Content Management Framework initially created by Kasper Skaarhoj and licensed under GNU/GPL.

1.2k1.9M122](/packages/typo3-cms)[z4kn4fein/php-semver

Semantic Versioning library for PHP. It implements the full semantic version 2.0.0 specification and provides ability to parse, compare, and increment semantic versions along with validation against constraints.

251.5M17](/packages/z4kn4fein-php-semver)[koninklijke-collective/my-redirects

TYPO3 Extension: Redirects management

17152.4k](/packages/koninklijke-collective-my-redirects)[phpexperts/datatype-validator

An easy to use data type validator (both strict and fuzzy).

141.1M2](/packages/phpexperts-datatype-validator)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
