# Walidacja body JSON przez akcję

> Zdefiniuj schemat wejścia w akcji i pozwól Total.js odrzucać nieprawidłowe żądania, zanim wykona się Twój kod.

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

W Total.js 5 deklarujesz wejście akcji przez `input`. Gwiazdka przed nazwą pola (`*email`) oznacza je jako wymagane, a typ po dwukropku (`Email`) jest walidowany przez framework. Twoja funkcja `action` wykonuje się tylko wtedy, gdy dane są prawidłowe.

Trasy wskazują akcję operatorem `-->`. Prefiks `*` oznacza „akcja” (w odróżnieniu od funkcji kontrolera).

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

Wyślij prawidłowe body, a akcja się wykona. Wyślij nieprawidłowy adres e-mail, a framework odpowie błędem walidacji bez wywoływania Twojej funkcji.
