# Validarea unui body JSON cu o acțiune

> Definește o schemă de intrare pe o acțiune și lasă Total.js să respingă cererile invalide înainte să ruleze codul tău.

Framework: total5
Product: Total.js 5 (total5@0.0.19)
Language: ro
Content-SHA256: 329812844f68703db4107c86a17859328ad18c1b178a603957cd192490b5b720
Snapshot: c0700e321579725c5cf4f5ace1ad7d2866d1b4f93c24a63c0b41b6b7998e976c
Sources: total5-installed@total5@0.0.19
Review: not-recorded

În Total.js 5 declari intrarea unei acțiuni cu `input`. O stea înaintea numelui câmpului (`*email`) îl marchează ca obligatoriu, iar tipul de după două puncte (`Email`) este validat de framework. Funcția ta `action` rulează doar când datele sunt valide.

Rutele indică o acțiune cu operatorul `-->`. Prefixul `*` înseamnă „acțiune” (spre deosebire de o funcție de controller).

```js definitions/subscribe.js
NEWACTION('Subscribe/exec', {
	name: 'Subscribe to the newsletter',
	input: '*email:Email, name:String',
	action: function($, model) {
		$.success(model.email);
	}
});
```

```js controllers/subscribe.js
exports.install = function() {
	ROUTE('POST /subscribe/ --> *Subscribe/exec');
};
```

Trimite un body valid și acțiunea se execută. Trimite o adresă de e-mail invalidă și framework-ul răspunde cu o eroare de validare fără să apeleze funcția ta.
