Olá, Luidi! Como vai?
É possível sim fazer verificações no back-end para garantir que os nomes estejam no formato desejado. Embora muitas dessas validações também possam ser feitas no front-end, é importante garantir a integridade dos dados no back-end, já que ele é o responsável final pelo processamento e armazenamento das informações.
Aqui estão algumas sugestões para implementar uma verificação de nome completo no back-end usando JavaScript:
Remover espaços extras: Você pode usar o método trim() para remover espaços no início e no final de uma string. Para remover espaços extras entre palavras, você pode usar uma expressão regular.
Quantidade mínima de letras: Para verificar a quantidade mínima de letras em cada palavra, você poderia dividir o nome em palavras e verificar o comprimento de cada uma. No entanto, como você mencionou, existem nomes curtos como "Li", então talvez seja melhor não impor um limite mínimo muito rigoroso.
Aceitar sinais específicos: Você pode usar expressões regulares para permitir apenas certos caracteres. Por exemplo, você pode permitir letras, espaços, apóstrofos e hífens.
Aqui está um exemplo de como você poderia implementar essa verificação:
function validarNomeCompleto(nome) {
  // Remove espaços extras no início, no final e entre as palavras
  nome = nome.trim().replace(/\s+/g, ' ');
  // Expressão regular para validar o nome
  // Aceita letras, espaços, apóstrofos e hífens
  const regex = /^[a-zA-ZÀ-ÿ' -]+$/;
  if (!regex.test(nome)) {
    return false; // Nome inválido
  }
  // Verifica se cada palavra tem pelo menos 1 letra
  const palavras = nome.split(' ');
  for (const palavra of palavras) {
    if (palavra.length < 1) {
      return false; // Palavra muito curta
    }
  }
  return true; // Nome válido
}
// Exemplo de uso
const nome = "Maria D'ávila";
console.log(validarNomeCompleto(nome)); // true
Esse código faz uma verificação básica, mas você pode ajustá-lo conforme suas necessidades específicas, como adicionar mais caracteres permitidos ou ajustar o comprimento mínimo das palavras.
Espero ter ajudado e bons estudos!
Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓.