Pular para o conteúdo principal

CUIT / CUIL

cuitCuil é um field nativo do DYONA para valores argentinos de CUIT/CUIL. O consumidor declara o field; DYONA cuida da formatação visual, normalização e validação estrutural.

{
name: 'cuit',
label: 'CUIT / CUIL',
type: 'cuitCuil',
required: true,
}

Formato visual e valor armazenado​

A máscara é somente apresentação. DYONA mostra:

30 71094360 1

O estado do formulário e o valor de submit permanecem uma string de onze dígitos, sem espaços ou hífens:

'30710943601'

O field aceita digitação e colagem com dígitos, espaços ou hífens. Ele mantém automaticamente apenas os primeiros onze dígitos, enquanto o input continua mostrando XX XXXXXXXX X.

Validação​

Um cuitCuil opcional vazio é válido. Com required: true, ele usa a validação required comum do DYONA.

Quando existe um valor, DYONA valida que tenha exatamente onze dígitos e que seu dígito verificador CUIT/CUIL seja estruturalmente válido. Não é uma consulta à ARCA: não verifica existência, situação fiscal nem titularidade.

Validações adicionais declaradas continuam funcionando junto com a validação nativa. Os fieldErrors de backend funcionam como em qualquer outro field de DyonaForm.

Initial values e submit​

Use o valor normalizado em initialValues; DYONA o mostra com formato visual e envia a string normalizada.

import {DyonaForm, type DyonaFormSchema} from '@typhonsoftware/dyona-form';

const schema: DyonaFormSchema = {
title: 'Identificação fiscal',
hideSingleTab: true,
actions: {submit: {label: 'Salvar'}},
tabs: [{id: 'identification', title: 'Identificação', rows: [{columns: [
{name: 'cuit', label: 'CUIT / CUIL', type: 'cuitCuil', required: true},
]}]}],
};

<DyonaForm
schema={schema}
initialValues={{cuit: '30710943601'}}
onSubmit={(values) => console.log(values)}
/>;

A mesma normalização faz com que um valor inicial ou colado como 30-71094360-1 se torne 30710943601 dentro do formulário.

Testar CUIT / CUIL no Lab