# Skontrolujte číslové hranice, namiesto toho, aby ste si uvedomili úplnú núdzu

> Skontrolujte Int, SmallInt, TinyInt a Number2 s domácimi kompaktnými schémami vrátane frakčných hodnôt, nulových a out-of-range vstupov.

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

V `total5@0.0.19`, kompaktné číselné typy všetky vstupujú do domáceho čísla validátor. **`Int` nezaručuje integer**: `7.9` je zachovaný. `Number2` tiež zachováva túto frakciu; netlačte jeho názov ako okrúhle na dve desiatky miesta.

`TinyInt` akceptuje hodnoty od 0 do 255. `SmallInt` akceptuje od -32767 do 32767; konkrétne -32768 sa v tejto verzii odmietne. Tieto kontroly podtypov vynucujú hranice, ale nevyžadujú celé hodnoty: `TinyInt` akceptuje `1.5`. Pre identifikátory, počítadlá alebo množstvá, ktoré musia byť celé čísla, použite explicitnú kontrolu `Number.isInteger()`. Tieto pozorovania popisujú túto verziu a testované hodnoty, nie sémantiku stĺpcov 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);
}
```
