Bevezetési típusok NEWACTION
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ípus | Elküldött érték | Kapott érték | Megjegyzések |
|---|---|---|---|
String | hello | hello | Szö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 | +421900123456 | Telefonszám; a szóközök eltávolításra kerülnek. |
URL | https://totaljs.com/x | https://totaljs.com/x | Érvényes URL; minden más elutasításra kerül. |
Name | john smith | John Smith | Minden szót nagybetűvel kezd. |
Capitalize | hello big world | Hello Big World | Minden szót nagybetűvel kezd. |
Capitalize2 | HELLO big WORLD | Hello big world | Csak az első betű nagy, a többi kisbetű. |
Lowercase | ABC | abc | Kisbetűk. |
Uppercase | abc | ABC | Nagybetűk. |
Search | Žluťoučký Kůň | zlutoucki kun | Kisbetűk ékezetek nélkül, kereséshez. |
SafeString | plain text | plain text | Szöveg; a HTML-címkéket, például <b>-t tartalmazó érték elutasításra kerül. |
Color | #FF0000 | #FF0000 | schema-enums-and-formats |
Base64 | SGVsbG8= | SGVsbG8= | schema-enums-and-formats |
Zip | 81101 | 81101 | schema-enums-and-formats |
Icon | ti ti-home | ti ti-home | schema-enums-and-formats |
Number | 12.5 | 12.5 | Szám; a szöveg átalakításra kerül. |
Float | 3.14 | 3.14 | Szám; a szöveg átalakításra kerül. |
Decimal | 2.5 | 2.5 | Szám; a szöveg átalakításra kerül. |
Boolean | true | true | true vagy false; a true szöveg átalakításra kerül. |
Date | 2026-01-05 | 2026-01-05T00:00:00.000Z | Dátum. JSON-ban ISO-szövegként küldik. |
További formák:
| Forma | Példa | Megjegyzé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.
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);
}
});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() });
}