ForgeTotal.js 5
it

Total.js 5

Verificare i limiti di schema numerico invece di assumere una costanza completa

Total.js 5 · total5@0.0.19 validationschemanumbersboundaries Eseguita con Total.js 5

In total5@0.0.19, tutti i tipi numerici compatti entrano nel validatore del numero nativo. Int non garantisce un integratore: 7.9 è conservato. Number2 conserva anche questa frazione; non interpretare il suo nome come rotondo a due punti decimali.

TinyInt accetta valori da 0 a 255. SmallInt accetta da -32767 a 32767; in particolare, -32768 viene rifiutato in questa versione. Questi controlli dei sottotipi impongono limiti ma non richiedono valori interi: TinyInt accetta 1.5. Applica un controllo esplicito con Number.isInteger() per identificatori, contatori o quantità che devono essere interi. Queste osservazioni descrivono questa versione e i valori testati, non la semantica delle colonne 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);
}