Convalidare campi obbligatori e valori dei moduli PDF
Prima di compilare il modulo, il nome Ada Lovelace, la data di nascita 1815-12-10 e la scelta dell'email vengono controllati su quattro regole, e la casella della newsletter senza risposta risulta facoltativa. Una data come 2025-02-29 viene rifiutata. Gratis nel suo browser.
- Gratis
- Funziona nel suo browser
- Senza registrazione
- I suoi dati restano sul dispositivo
Esegui gratis nel browser
Funziona nel tuo browser: gratis, senza registrazione, i file non escono dal tuo dispositivo.
Convalidi i dati destinati a un modulo PDF prima di avviare la compilazione del documento. Fornisca le definizioni dei campi e un oggetto di valori: questa capacità verifica campi obbligatori, tipi esatti, date reali, scelte consentite, definizioni duplicate e chiavi impreviste. Se tutto corrisponde, restituisce un insieme pulito di valori convalidati.
Definisca con precisione il contratto del modulo
Inizi descrivendo ogni campo del modulo PDF con un nome univoco, un tipo supportato e un indicatore facoltativo di obbligatorietà. I tipi disponibili comprendono testo, numeri finiti, interi, booleani, date di calendario ISO, selezioni a scelta singola e selezioni a scelta multipla. I campi di selezione richiedono anche un elenco di opzioni, affinché il validatore possa distinguere una scelta approvata da una stringa arbitraria.
Le definizioni costituiscono il contratto dell’oggetto dei valori: ogni valore fornito deve corrispondere a una definizione e i nomi di campo duplicati vengono rifiutati perché renderebbero ambiguo il controllo. Utilizzi esattamente i nomi attesi dalla successiva operazione di compilazione del PDF, rispettando anche maiuscole e minuscole. Questa capacità non esamina un PDF e non prova a dedurne i campi.
Separare l’individuazione dei campi dalla convalida semplifica i test e consente di riutilizzare lo stesso contratto per molti record. Se required viene omesso, il suo valore predefinito è false; un campo esplicitamente obbligatorio deve invece contenere un valore significativo. Per i campi di testo, una stringa composta soltanto da spazi viene considerata mancante.
Comprenda il controllo rigoroso dei valori
I valori vengono verificati senza conversioni automatiche. Un booleano deve essere true oppure false, non "yes", 1 o 0. Le date usano il formato inequivocabile YYYY-MM-DD e devono indicare un giorno reale del calendario; pertanto, un valore come 2025-02-29 viene rifiutato.
Una selezione deve corrispondere esattamente a una delle stringhe dichiarate, rispettando maiuscole e minuscole. Una selezione multipla deve essere un array di stringhe ammesse e univoche; scelte ripetute o sconosciute causano un errore. Questo rigore individua gli errori di mappatura prima che producano documenti imperfetti ma apparentemente corretti.
Le stesse rappresentazioni vuote causano invece un errore per i campi obbligatori. L’operazione si interrompe al primo problema e fornisce un’indicazione mirata che il modulo o il processo può mostrare all’utente.
Esegua la convalida prima di generare il PDF
Utilizzi questa capacità subito dopo aver associato i dati dell’applicazione ai nomi dei campi PDF e prima di chiamare uno strumento che scriva nel documento. Un risultato positivo comprende valid true, il numero delle definizioni esaminate, i valori accettati e i campi facoltativi non forniti. Le chiavi sconosciute vengono rifiutate perché un nome di campo errato potrebbe altrimenti scomparire senza segnalazione durante la compilazione del PDF.
Il validatore è quindi particolarmente utile nei flussi in serie, dove una mappatura sbagliata può interessare centinaia di documenti. Conservi le definizioni insieme alla versione del modello, convalidi ogni record rispetto a tale versione e invii alla compilazione soltanto i record corretti. L’algoritmo opera localmente, senza rete, casualità, inferenza di modelli o stato memorizzato; input identici producono sempre risultati identici.
Casi d'uso
Controllare i moduli di inserimento
Verifichi nomi, date, consensi booleani e selezioni obbligatorie prima di generare moduli compilati per dipendenti o clienti.
Proteggere i lavori documentali in serie
Rifiuti un record non valido prima che raggiunga la coda di scrittura PDF e produca un documento incompleto.
Domande frequenti
Questa capacità modifica il PDF?
No. Convalida soltanto definizioni e valori dei campi. Passi poi i valori approvati a una capacità di compilazione PDF.
Come vengono convalidate le date?
Devono usare YYYY-MM-DD e indicare un giorno reale, con una gestione corretta degli anni bisestili.
I valori possono contenere campi non presenti nelle definizioni?
No. Le chiavi sconosciute vengono rifiutate per evidenziare errori di battitura e mappature obsolete.
Cosa succede se un campo obbligatorio contiene solo spazi?
Conta come vuoto, quindi il controllo non passa e il messaggio indica quale campo è. Solo un valore con contenuto completa un testo obbligatorio; i campi facoltativi mancanti vengono semplicemente elencati come non forniti.
Accetta «sì» per una casella di spunta o un numero intero scritto come testo?
No. Nulla viene convertito al posto suo: una casella sì o no richiede un valore vero o falso, non la parola sì né la cifra 1, e un numero intero deve arrivare come numero, non come il testo 12.
Strumenti correlati
Per sviluppatori — accesso via API
Tutto quello che vedi in questa pagina è disponibile anche via API. Questa sezione è per i team che vogliono integrarlo nei propri sistemi; chi non ne ha bisogno può semplicemente usare lo strumento qui sopra.
Endpoint
Autenticazione con Bearer token: un POST mette in coda l'attività e il risultato arriva via webhook o link firmato.
Chiamala dal tuo stack
curl -X POST https://api.kit.forhosting.com/pdf/fill-form-fields \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"fields":[{"name":"full_name","type":"text","required":true},{"name":"age","type":"integer","required":false}],"values":{"full_name":"Ada Lovelace","age":36}}'const res = await fetch("https://api.kit.forhosting.com/pdf/fill-form-fields", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"fields": [
{
"name": "full_name",
"type": "text",
"required": true
},
{
"name": "age",
"type": "integer",
"required": false
}
],
"values": {
"full_name": "Ada Lovelace",
"age": 36
}
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/pdf/fill-form-fields",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"fields": [
{
"name": "full_name",
"type": "text",
"required": true
},
{
"name": "age",
"type": "integer",
"required": false
}
],
"values": {
"full_name": "Ada Lovelace",
"age": 36
}
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/pdf/fill-form-fields", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"fields":[{"name":"full_name","type":"text","required":true},{"name":"age","type":"integer","required":false}],"values":{"full_name":"Ada Lovelace","age":36}}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"fields":[{"name":"full_name","type":"text","required":true},{"name":"age","type":"integer","required":false}],"values":{"full_name":"Ada Lovelace","age":36}}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/pdf/fill-form-fields", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Esempio di richiesta
{
"fields": [
{
"name": "full_name",
"type": "text",
"required": true
},
{
"name": "age",
"type": "integer",
"required": false
}
],
"values": {
"full_name": "Ada Lovelace",
"age": 36
}
}Esempio di risposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "pdf.fill_form_fields",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}L'API è asincrona: ricevi subito un task_id e puoi fare polling fino a 1 richiesta al secondo.
Prezzi
Prezzo pubblicato, senza token né crediti. Se l'attività fallisce, non paghi.
Limiti
max_mb | 25 |
max_pages | 200 |
Errori
| HTTP | Codice | Significato |
|---|---|---|
401 | unauthorized | Chiave API mancante o non valida: controlla l'header Authorization. |
402 | insufficient_balance | Credito esaurito: ricarica per continuare a eseguire attività. |
404 | unknown_type | Tipo di attività sconosciuto: controlla il campo type della richiesta. |
429 | rate_limited | Troppe richieste in poco tempo: rallenta e riprova tra qualche secondo. |
Note tecniche
Poiché il controllo è deterministico e non apre né modifica il PDF, può essere usato sia come verifica preventiva nel browser sia come protezione affidabile in un’automazione tramite API.
Comprenda il controllo rigoroso dei valori
Un intero deve arrivare come numero JSON privo di parte frazionaria, non come stringa "12". I campi numerici accettano esclusivamente numeri JSON finiti. I campi facoltativi possono essere assenti, null o contenere una stringa vuota: in tal caso sono elencati in missing_optional e non vengono copiati in validated_values.
Esegua la convalida prima di generare il PDF
L’oggetto validated_values conserva esattamente i valori JSON approvati: non formatta le date, non arrotonda i numeri, non riordina le selezioni e non inventa valori predefiniti. Il browser è disponibile per i controlli interattivi, mentre una richiesta API costa $0.002 quando la convalida rientra nella produzione automatizzata di documenti.
Casi di integrazione
Verificare le mappature dei modelli
Controlli che le chiavi di output e i tipi JSON dell’applicazione rispettino ancora il contratto di un modello PDF versionato.
Domande tecniche
Che cosa accade se manca un campo obbligatorio?
La richiesta non riesce e restituisce un errore invalid_input che indica il campo obbligatorio.
Le stringhe numeriche vengono convertite in numeri?
No. Il controllo è rigoroso: un numero o un intero deve essere fornito come numero JSON.
Quanto costa una richiesta API?
Ogni richiesta costa $0.002. Il validatore deterministico può essere eseguito anche nel browser.