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

APIs relacionadas