Introductie Types van Nieuwactie
Een definitie is een lijst van name:Type gescheiden door komma's, bijvoorbeeld *email:Email, age:Number. Een * voor de naam maakt het veld verplicht. Hetzelfde formaat wordt gebruikt door input (de body), params, query en output. Het type zet de waarde om: de actie ontvangt de omgezette waarde, niet de verzonden tekst.
De namen van de typen zijn niet hoofdlettergevoelig. Elk type hieronder is gecontroleerd door de waarde uit de tweede kolom te sturen.
| Type | Verzonden waarde | Ontvangen waarde | Opmerkingen |
|---|---|---|---|
String | hello | hello | Tekst; spaties aan het begin en einde worden verwijderd. |
Text | text | text | Tekst precies zoals die is verzonden. |
Email | A@B.CZ | a@b.cz | Een geldig e-mailadres, in kleine letters; al het andere wordt geweigerd. |
Phone | +421 900 123 456 | +421900123456 | Een telefoonnummer; spaties worden verwijderd. |
URL | https://totaljs.com/x | https://totaljs.com/x | Een geldige URL; al het andere wordt geweigerd. |
Name | john smith | John Smith | Zet elk woord met een hoofdletter. |
Capitalize | hello big world | Hello Big World | Zet elk woord met een hoofdletter. |
Capitalize2 | HELLO big WORLD | Hello big world | Alleen de eerste letter een hoofdletter, de rest kleine letters. |
Lowercase | ABC | abc | Kleine letters. |
Uppercase | abc | ABC | Hoofdletters. |
Search | Žluťoučký Kůň | zlutoucki kun | Kleine letters zonder accenten, om te zoeken. |
SafeString | plain text | plain text | Tekst; een waarde met HTML-tags zoals <b> wordt geweigerd. |
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 | Een getal; de tekst wordt omgezet. |
Float | 3.14 | 3.14 | Een getal; de tekst wordt omgezet. |
Decimal | 2.5 | 2.5 | Een getal; de tekst wordt omgezet. |
Boolean | true | true | true of false; de tekst true wordt omgezet. |
Date | 2026-01-05 | 2026-01-05T00:00:00.000Z | Een datum. In JSON wordt die als ISO-tekst verzonden. |
Andere vormen:
| Vorm | Voorbeeld | Opmerkingen |
|---|---|---|
[String], [Number] | ze_arr:[String] | Een array van dat type: elk item wordt omgezet. |
{ x:Number, y:String } | zg_obj:{ x:Number, y:String } | Een genest object, gevalideerd met zijn eigen velden. |
String(5) | zd_max:String(5) | Een tekst van maximaal 5 tekens; een langere tekst wordt geweigerd. |
Een waarde die niet bij het type past, wordt geweigerd met status 400 en de naam van het veld in de fout. Deze waarden werden geweigerd bij de controles: SafeString met <b>x</b>, String(5) met tien tekens, een UID met abc en een GUID met not-guid. Het grenswaardenrecept controleert Int, SmallInt, TinyInt, Number2: numeric-schema-boundaries. In deze versie kapt Int niet af: 7.9 blijft 7.9.
UID en GUID accepteren de waarden die UID() en GUID() maken.
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() });
}