THotPDF.EvaluateLoadedFieldJavaScript Method
Avalia o subconjunto seguro suportado de uma ação de campo carregado, sem iniciar um motor JavaScript
Declaração
function EvaluateLoadedFieldJavaScript(FieldIndex: Integer;
Trigger: THPDFFormFieldActionTrigger; const InputValue: AnsiString;
out Evaluation: THPDFJavaScriptEvaluationResult): boolean;
Resultado
Devolve True quando pelo menos uma ação suportada foi executada; Evaluation reporta o valor resultante, a aceitação da validação, o número de operações e qualquer motivo de rejeição
Supported expressions
O avaliador suporta literais boolean, number, string, null, undefined e array; leituras de campos e de event.value; indexação de arrays; operadores aritméticos, unários, de comparação, de igualdade, lógicos com short-circuit e condicionais; e atribuição a event.value ou event.rc
A allowlist inclui AFSimple_Calculate, AFRange_Validate, conversão de number e string, parseFloat, parseInt, isNaN, funções Math selecionadas, Date.parse, Date.UTC, Array.isArray, e propriedades e métodos limitados de string e de array
As operações com datas são determinísticas e independentes do fuso horário: uma entrada de tipo ISO sem offset é interpretada como UTC, enquanto Z explícito e offsets numéricos são respeitados
Safety boundary
O parser aceita apenas cálculos e validações declarativos e limitados, e rejeita loops, avaliação dinâmica, acesso à aplicação, submissão, importação, lançamento e outro conteúdo ativo
Cada chamada está limitada a 8,192 bytes de script, 32 statements, 4,096 bytes de expressão, 32 níveis de parser, 1,024 operações, 64 argumentos, 128 itens de array, 65,536 bytes de string e 262,144 bytes de valores acompanhados; exceder qualquer limite falha em modo fechado, com um resultado de diagnóstico