ForgeTotal.js 5
sv

Total.js 5

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

Total.js 5 · total5@0.0.19 validationschemanumbersboundaries Körd med Total.js 5

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.

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