# Kontrollera gränserna för det numeriska schemat i stället för att anta en fullständig tvång

> Kontrollera Int, SmallInt, TinyInt och Number2 med inhemska kompakta scheman, inklusive fraktionsvärden, noll- och out-of-range-inmatningar.

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

I `total5@0.0.19`, de kompakta numeriska typerna visas alla i den inhemska numret validerare. **`Int` garanterar inte en helhet**: `7.9` bevaras. `Number2` bevarar också denna fraktion; tolkas inte dess namn som runda till två decimal platser.

`TinyInt` accepterar värden från 0 till 255. `SmallInt` accepterar -32767 till 32767; särskilt avvisas -32768 i den här versionen. Dessa subtypskontroller upprätthåller gränser men kräver inte heltalsvärden: `TinyInt` accepterar `1.5`. Använd en uttrycklig kontroll med `Number.isInteger()` för identifierare, räknare eller kvantiteter som måste vara heltal. Dessa observationer beskriver den här versionen och de testade värdena, inte semantiken hos SQL-kolumner.

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