ForgeTotal.js 5
bg

Total.js 5

Проверявайте границите на цифровата схема, вместо да приемате цялостна принуда

Total.js 5 · total5@0.0.19 validationschemanumbersboundaries Изпълнено с Total.js 5

В total5@0.0.19, компактните числа всички влизат в валидатора на коренното число. Int не гарантира цялост: 7.9 се запазва. Number2 също така запазва тази фракция; не тълкува името му като кръгла до две десетични места.

TinyInt приема стойности от 0 до 255. SmallInt приема от -32767 до 32767; по-специално -32768 се отхвърля в тази версия. Тези проверки на подтипове налагат граници, но не изискват цели стойности: TinyInt приема 1.5. Приложете изрична проверка с Number.isInteger() за идентификатори, броячи или количества, които трябва да са цели числа. Тези наблюдения описват тази версия и тестваните стойности, не семантиката на 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);
}