# Überprüfen Sie die Zahlengrenze anstatt eine vollständige Zwang zu ergreifen

> Check Int, SmallInt, TinyInt und Number2 mit nativen Compaktschematen, einschließlich Fraktionswerte, Null- und Out-of-Range-Einträge.

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

In `total5@0.0.19` geben die kompakten numerischen Typen alle den Heimatnummer validator ein. **`Int` garantiert nicht einen Integrator**: `7.9` wird erhalten. `Number2` bewahrt auch diese Fraktion; interpretieren Sie nicht seinen Namen als rund auf zwei Zehntelplätze.

`TinyInt` akzeptiert Werte von 0 bis 255. `SmallInt` akzeptiert -32767 bis 32767; insbesondere wird -32768 in dieser Version abgelehnt. Diese Subtyp-Prüfungen erzwingen Grenzen, verlangen aber keine ganzzahligen Werte: `TinyInt` akzeptiert `1.5`. Wende für Kennungen, Zähler oder Mengen, die ganzzahlig sein müssen, eine explizite Prüfung mit `Number.isInteger()` an. Diese Beobachtungen beschreiben diese Version und die getesteten Werte, nicht die Semantik von SQL-Spalten.

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