ForgeTotal.js 5
sk

Total.js 5

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

Total.js 5 · total5@0.0.19 validationschemanumbersboundaries Spustené s Total.js 5

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.

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