Tem alguma possibilidade de fazer com que um campo no site editor seja obrigatório seu preenchimento?
Tentei das seguintes formas mas não deram certo
TesteCompontent.defaultProps = {
title: 'Componente Teste',
type: 'object',
properties: {
textShare: {
title: 'Titulo de teste',
description: 'Texto auxiliar',
type: 'string',
default: 'Teste',
}
},
required: ['textShare']
}
e tambem tentei
TesteCompontent.defaultProps = {
title: 'Componente Teste',
type: 'object',
properties: {
textShare: {
title: 'Titulo de teste',
description: 'Texto auxiliar',
type: 'string',
default: 'Teste',
required: true
}
}
}
1 Like
Olá @gabriel_cintra_jussi!
Checando alguns dos tópicos que ficaram sem resposta aqui na nossa comunidade acabei encontrando seu!
Bom… Será que você consegue me dar mais detalhes do objetivo de colocar esses campos como obrigatórios? De qual é a sua intenção final?
Checando com o nosso time me parece que a única forma de tornar algo obrigatório seria setando um valor default.
Karina Mota
Field Software Engineer | VTEX
1 Like
Então, mas pro caso de um campo ser string, eu tentar salvar com o input vazio, ele salva, a ideia seria esse campo não ser vazio ‘’
@gabriel_cintra_jussi Tranquilo?
Pensando até no cenário de ser um CMS, pela lógica e na minha concepção, não faz sentido você setar isso como obrigatório, visto que é um espaço onde é feita alterações de conteúdos “simples” da loja. Portanto, não pode haver tipo um “impedimento” para obrigar o lojista ou operacional a preencher algo.
Imagina que caso seja possível, ao subir alguma atualização e o campo ficasse vazio, o drop de edição dos blocos ficaria sempre aberto até que o campo em questão fosse preenchido. Na minha visão isso poderia ser bem problemático (caso ainda haja uma forma de fazer), considerando o conceito de estruturas.
Como a @KarinaMota colocou, o ideal, para não vir vazio é você setar pelo código que aquele campo já tem um conteúdo. Ou seja, se nada for mexido, vai vir o que você deixou default.
Fazendo um adendo: mesmo que você coloque no código o default, o conteúdo não aparecerá dentro do input nos blocos do site-editor. Isso só irá acontecer caso alguém manualmente altere novamente o conteúdo. Eu acho que isso pode ser uma melhoria para a VTEX @KarinaMota
Abs,
Estevão.