# Валидиране на JSON body с действие

> Определете входна схема на действие и оставете Total.js да отхвърля невалидните заявки, преди да се изпълни вашият код.

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

В Total.js 5 декларирате входа на едно действие с `input`. Звездичка пред името на поле (`*email`) го маркира като задължително, а типът след двоеточието (`Email`) се валидира от фреймуърка. Вашата функция `action` се изпълнява само когато данните са валидни.

Маршрутите сочат към действие с оператора `-->`. Префиксът `*` означава „действие“ (за разлика от функция на контролер).

```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');
};
```

Изпратете валидно body и действието се изпълнява. Изпратете невалиден имейл адрес и фреймуъркът отговаря с грешка при валидиране, без да извиква вашата функция.
