# Zkontrolujte číselné hranice schématu namísto předpokladu celkové nucenosti

> Zkontrolujte Int, SmallInt, TinyInt a Number2 s původními kompaktními schématy, včetně frakčních hodnot, nulových a out-of-range vstupů.

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

v `total5@0.0.19`, kompaktní číselné typy všechny zadávají vnitřní číslo validátor. **`Int` Neexistuje žádná záruka plné*: `7.9` Je zachována `Number2` Také zachovává tuto frakci; nepoužívejte její název jako okrúhlý na dvě desítky míst.

`TinyInt` přijímá hodnoty od 0 do 255. `SmallInt` přijímá od -32767 do 32767; konkrétně -32768 se v této verzi odmítne. Tyto kontroly podtypů vynucují hranice, ale nevyžadují celé hodnoty: `TinyInt` přijímá `1.5`. Pro identifikátory, počítadla nebo množství, která musí být celá čísla, použijte explicitní kontrolu `Number.isInteger()`. Tato pozorování popisují tuto verzi a testované hodnoty, nikoli sémantiku sloupců SQL.

```js controllers/numbers.js
var schema = NEWSCHEMA('NumericBoundaries', '*integer:Int,*small:SmallInt,*tiny:TinyInt,*decimal:Number2');

exports.install = function() {
	ROUTE('POST /numbers/ @json', numbers);
};

function numbers($) {
	var result = schema.transform($.body);
	if (result.error) {
		$.response.status = 400;
		$.json({ error: 'invalid numeric input' });
		return;
	}
	$.json(result.response);
}
```
