# De query string in een actie valideren

> Declareer query in NEWACTION om de URL-parameters te valideren en om te zetten, en lees de opgeschoonde waarden uit $.query.

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

Net als `input` voor de body en `params` voor het pad beschrijft `query` de query string. Het framework valideert hem en zet de waarden om (het paginanummer hieronder komt aan als een echt getal); een ongeldige query antwoordt met een validatiefout voordat jouw code draait.

```js definitions/search.js
NEWACTION('Search/exec', {
	name: 'Search',
	query: 'q:String, page:Number, *sort:Lowercase',
	action: function($) {
		$.callback({ q: $.query.q || '', page: $.query.page || 1, sort: $.query.sort });
	}
});
```

```js controllers/search.js
exports.install = function() {
	ROUTE('GET /search/ --> *Search/exec');
};
```
