THotPDF.EvaluateLoadedFieldJavaScript metódus
Egy betöltött mező-művelet támogatott biztonságos részhalmazát értékeli ki JavaScript-motor indítása nélkül
Deklaráció
function EvaluateLoadedFieldJavaScript(FieldIndex: Integer;
Trigger: THPDFFormFieldActionTrigger; const InputValue: AnsiString;
out Evaluation: THPDFJavaScriptEvaluationResult): boolean;
Eredmény
True értéket ad vissza, ha legalább egy támogatott művelet lefutott; az Evaluation jelenti az eredményül kapott értéket, az érvényesítés elfogadását, a műveletszámot és az esetleges elutasítási okot
Támogatott kifejezések
Az értékelő támogatja a boolean, szám, string, null, undefined és tömb literálokat; a mezők és az event.value olvasását; a tömbindexelést; az aritmetikai, unáris, összehasonlító, egyenlőségi, rövidzáras logikai és feltételes operátorokat; valamint az event.value vagy event.rc értékadását
Az engedélyezési lista tartalmazza az AFSimple_Calculate, AFRange_Validate, szám- és sztringkonverzió, parseFloat, parseInt, isNaN, kiválasztott Math függvények, Date.parse, Date.UTC, Array.isArray, valamint korlátos sztring- és tömb-tulajdonságok és metódusok elemeket
A dátum-műveletek determinisztikusak és időzóna-függetlenek: az eltolás nélküli ISO-szerű bemenet UTC-ként értelmeződik, míg az explicit Z és numerikus eltolások tiszteletben maradnak
Biztonsági határ
Az elemző csak korlátos deklaratív számításokat és érvényesítést fogad el, és elutasítja a ciklusokat, a dinamikus kiértékelést, az alkalmazás-hozzáférést, a beküldést, az importálást, az indítást és más aktív tartalmakat
Minden hívás 8 192 parancsfájl-bájtra, 32 utasításra, 4 096 kifejezés-bájtra, 32 elemző-szintre, 1 024 műveletre, 64 argumentumra, 128 tömb-elemre, 65 536 sztring-bájtra és 262 144 bájtnyi nyomon követett értékre korlátozódik; bármely korlát túllépése diagnosztikai eredménnyel zárul le