ForgeTotal.js 5
cs

Total.js 5

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

Total.js 5 · total5@0.0.19 validationschemanumbersboundaries Spuštěno s Total.js 5

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.

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