ForgeDokumentáció
hu

Dokumentáció

Bevezetési típusok NEWACTION

Total.js 5 · total5@0.0.19 referencevalidationinput Total.js 5-tel lefuttatva

A definíció name:Type elemek vesszővel elválasztott listája, például *email:Email, age:Number. A név előtti * kötelezővé teszi a mezőt. Ugyanezt a formátumot használja az input (a törzs), a params, a query és az output. A típus átalakítja az értéket: a művelet az átalakított értéket kapja, nem az elküldött szöveget.

A típusok nevei nem érzékenyek a kis- és nagybetűkre. Az alábbi típusok mindegyikét a második oszlop értékének elküldésével ellenőriztük.

TípusElküldött értékKapott értékMegjegyzések
String hello helloSzöveg; az elején és a végén lévő szóközök eltávolításra kerülnek.
Text text text A szöveg pontosan úgy marad, ahogy elküldték.
Email A@B.CZ a@b.czÉrvényes e-mail-cím, kisbetűkkel; minden más elutasításra kerül.
Phone+421 900 123 456+421900123456Telefonszám; a szóközök eltávolításra kerülnek.
URLhttps://totaljs.com/xhttps://totaljs.com/xÉrvényes URL; minden más elutasításra kerül.
Namejohn smithJohn SmithMinden szót nagybetűvel kezd.
Capitalizehello big worldHello Big WorldMinden szót nagybetűvel kezd.
Capitalize2HELLO big WORLDHello big worldCsak az első betű nagy, a többi kisbetű.
LowercaseABCabcKisbetűk.
UppercaseabcABCNagybetűk.
SearchŽluťoučký Kůňzlutoucki kunKisbetűk ékezetek nélkül, kereséshez.
SafeStringplain textplain textSzöveg; a HTML-címkéket, például <b>-t tartalmazó érték elutasításra kerül.
Color#FF0000#FF0000schema-enums-and-formats
Base64SGVsbG8=SGVsbG8=schema-enums-and-formats
Zip8110181101schema-enums-and-formats
Iconti ti-hometi ti-homeschema-enums-and-formats
Number12.512.5Szám; a szöveg átalakításra kerül.
Float3.143.14Szám; a szöveg átalakításra kerül.
Decimal2.52.5Szám; a szöveg átalakításra kerül.
Booleantruetruetrue vagy false; a true szöveg átalakításra kerül.
Date2026-01-052026-01-05T00:00:00.000ZDátum. JSON-ban ISO-szövegként küldik.

További formák:

FormaPéldaMegjegyzések
[String], [Number]ze_arr:[String]Az adott típusú tömb: minden elem átalakításra kerül.
{ x:Number, y:String }zg_obj:{ x:Number, y:String }Beágyazott objektum, a saját mezőivel validálva.
String(5)zd_max:String(5)Legfeljebb 5 karakteres szöveg; a hosszabb szöveg elutasításra kerül.

A típushoz nem illő érték 400-as állapottal és a mező nevével a hibában elutasításra kerül. Az ellenőrzések során ezeket az értékeket utasították el: SafeString a <b>x</b>-szel, String(5) tíz karakterrel, UID az abc-vel és GUID a not-guid-del. A határértékeket vizsgáló recept ellenőrzi Int, SmallInt, TinyInt, Number2: numeric-schema-boundaries. Ebben a verzióban az Int nem csonkol: a 7.9 7.9 marad.

A UID és a GUID elfogadja azokat az értékeket, amelyeket a UID() és a GUID() létrehoz.

definitions/types.js
NEWACTION('Types/all', {
	name: 'Every type',
	input: 'a_string:String, b_text:Text, c_email:Email, d_phone:Phone, e_url:URL, f_name:Name, g_capitalize:Capitalize, h_capitalize2:Capitalize2, i_lowercase:Lowercase, j_uppercase:Uppercase, k_search:Search, l_safestring:SafeString, m_color:Color, n_base64:Base64, o_zip:Zip, p_icon:Icon, q_number:Number, r_float:Float, s_decimal:Decimal, t_boolean:Boolean, u_date:Date, ze_arr:[String], zf_nums:[Number], zg_obj:{ x:Number, y:String }, zd_max:String(5)',
	action: function($, model) {
		$.callback(model);
	}
});

NEWACTION('Types/ids', {
	name: 'UID and GUID',
	input: '*id:UID, *key:GUID',
	action: function($, model) {
		$.callback(model);
	}
});
controllers/types.js
exports.install = function() {
	ROUTE('POST /types/ @json --> *Types/all');
	ROUTE('POST /ids/ @json --> *Types/ids');
	ROUTE('GET /newids/', ids);
};

function ids($) {
	$.json({ id: UID(), key: GUID() });
}