Metoda THotPDF.EvaluateLoadedFieldJavaScript
Evaluează subsetul sigur acceptat al unei acțiuni de câmp încărcate, fără a porni un motor JavaScript
Declarație
function EvaluateLoadedFieldJavaScript(FieldIndex: Integer;
Trigger: THPDFFormFieldActionTrigger; const InputValue: AnsiString;
out Evaluation: THPDFJavaScriptEvaluationResult): boolean;
Result
Returnează True când cel puțin o acțiune acceptată s-a executat; Evaluation raportează valoarea rezultată, acceptarea validării, numărul de operații și eventualul motiv de respingere
Supported expressions
Evaluatorul acceptă literali boolean, numeric, string, null, undefined și array; citiri de câmpuri și de event.value; indexarea array-urilor; operatori aritmetici, unari, de comparație, de egalitate, logici cu scurtcircuitare și condiționali; precum și atribuiri către event.value sau event.rc
Lista de permisiuni include AFSimple_Calculate, AFRange_Validate, conversiile de număr și string, parseFloat, parseInt, isNaN, câteva funcții Math, Date.parse, Date.UTC, Array.isArray, precum și proprietăți și metode delimitate pentru string și array
Operațiile cu date calendaristice sunt deterministe și independente de fusul orar: intrarea de tip ISO fără offset este interpretată ca UTC, iar Z explicit și offset-urile numerice sunt respectate
Safety boundary
Parserul acceptă doar calcule și validări declarative delimitate și respinge buclele, evaluarea dinamică, accesul la aplicație, submit-ul, importul, lansarea și alt conținut activ
Fiecare apel este limitat la 8.192 octeți de script, 32 de instrucțiuni, 4.096 octeți de expresii, 32 de niveluri de parser, 1.024 de operații, 64 de argumente, 128 de elemente de array, 65.536 octeți de string și 262.144 octeți de valori urmărite; depășirea oricărei limite eșuează în mod închis (fail closed), cu un rezultat de diagnostic