Pergunta

Na programação de um módulo de aplicação baseada em tabela (ou seja, o usuário principalmente entra dados tabulares em uma tabela já estabelecidas-out), como é que você rejeita a entrada do usuário para uma determinada célula?

O cenário é: o usuário edita a célula, entra algo (texto, imagem, ...) e você quer que eles aviso quando terminar de editar (bater entrar, por exemplo) que a sua entrada não é válido para o seu determinado "format" (no sentido mais amplo: pode ser que eles entraram em uma cadeia em vez de um número, que a sua entrada é muito longa, muito curta, eles incluem uma imagem enquanto não é aceitável, ...)

.

Eu posso ver duas coisas diferentes acontecendo:

  1. Você pode caber bastante facilidade a sua entrada em seu formato, e você fazê-lo, mas você quer que eles notá-lo assim que podem mudar se o seu palpite não é bom o suficiente (exemplo: eles entraram "15,47" em um campo que as necessidades para ser um inteiro, para que o seu programa torna "15")
  2. Você não pode imaginar o que fazer com a sua entrada, e quero informá-los que não é válido.

A minha pergunta é especificamente: o que exibição visual que você pode oferecer para informar ao usuário que sua entrada é inválida? É preferível se recusam a sair do modo de edição, ou não?

As duas coisas que eu posso imaginar são:

  • usando cores (fundo vermelho se inválida, fundo amarelo para o meu caso 1 acima)
  • quando rejeitar uma entrada, fazer algo como a Apple faz pela entrada de senha de contas de usuário: você faz a célula "agitação" (isto é oscilante esquerda e direita) por um segundo, e manter o foco / edição em sua para que eles don 't perder o que digitou.

Vamos ouvir suas sugestões.

PS: Esta questão é, pelo menos no meu processo de pensamento, de alguma forma, uma continuação e uma especialização da minha pergunta anterior sobre levar os usuários a ler as mensagens de erro.

PPS: Feito isso wiki comunidade, foi que a coisa certa a fazer neste tipo de pergunta ou não

Foi útil?

Solução

Tenha cuidado ao usar a correcção automática, tais como forçar a entrada do usuário para ajustar seu formato. Veja:

É aceitável para normalizar conteúdo da caixa de texto quando ele perde o foco? .

Em geral, é melhor prevenir entradas inválidas no primeiro lugar do que para corrigir automaticamente-los mais tarde. Por exemplo, se apenas números inteiros são permitidos, então você ignorar qualquer chaveamento do ponto decimal (juntamente com todas as letras e a maioria dos caracteres especiais). Em alguns ambientes, você pode querer fornecer um sinal sonoro tranquila que a entrada é ignorado (por exemplo, um ruído surdo).

Como para quando você precisa para alertar o utilizador para um erro, como sobre um texto explicativo? Desenhar uma linha brilhante do controle ou ponto em questão (campo, anunciador de status, botão, menu, localização de um drag and drop) à margem da janela e colocar uma mensagem breve (duas ou três palavras, como "data não reconhecido" ) em um balão. Colocar a mensagem na margem deve mantê-lo de ocluir qualquer coisa de interesse em uma mesa lotada.

O aparecimento súbito do call-out deve ser suficiente para chamar a atenção do usuário, por isso é bom para deixar o movimento do usuário para outras células no caso eles querem corrigir o erro mais tarde. Para a eficiência, você pode querer manter o usuário no campo relacionada erro quando o erro ocorre originalmente (pois muitas vezes o usuário deseja corrigi-lo imediatamente), mas, em seguida, permitir que a próxima guia ou clique do mouse para navegar o usuário distância.

Em mouseover ou quando o foco está no controle associado com o erro, a linha é realçada (para distingui-la de outras linhas de texto explicativo que podem estar presentes) e se expande balão para uma mensagem de erro completa, fornecendo mais detalhes sobre como corrigir o problema (até duas frases). Permitir que o usuário arrastar e soltar o balão para um novo local no caso de isso obstrui algo de interesse.

Inclua um botão de ajuda no balão se expandiu para mais detalhes. Você também pode incluir um botão para corrigir o erro (por exemplo, repetir, Reconnect, ou conjunto para o valor padrão).

O balão desaparece automaticamente quando o erro seja corrigido. Desfazer reverte o que causou o erro (por exemplo, reverte o campo para o seu valor original), que deve eliminar o erro.

Se o usuário rola para longe do lugar associado ao erro, os psiquiatras balão para um ícone que permanece em exibição para que o usuário é menos propensos a esquecê-la. Talvez um ponto de exclamação em um triângulo é uma boa ícone. Coloque o ícone ao lado ou na pista de rolagem para indicar a sua localização relativa na mesa, de modo que o usuário pode rolar rapidamente para encontrá-lo mais tarde. Mouseover expande o ícone para o seu pleno mensagem. Talvez clicando no ícone pode rolar para o lugar certo no foco mesa e colocar no controle relevante.

Balões também poderia encolher para ícones se eles começam visualmente interferir uns com os outros. Você pode até querer incluir um controle em um balão para permitir que o usuário para forçá-lo a assumir um ícone.

Para manter a consistência, o uso de todos os erros, e não apenas aquelas associadas com campos em tabelas.

Outras dicas

A última vez que fiz uma tal forma (em uma página da web) Eu coloquei uma caixa vermelha em torno da entrada ofender.

Eu pensei que era muito legal ... até que um usuário me perguntou: "há uma caixa vermelha É por isso que em torno deste celular?"

O que foi que ser bom também está exibindo por da entrada incorreta: "Este campo aceita apenas números", diz

Você pode exibir um ícone na célula, ou uma dica de ferramenta. A dica de ferramenta poderia abrir automaticamente ou quando paira ponteiro do mouse sobre o ícone. Ele poderia desaparecer automaticamente quando o usuário edita outra célula ou quando algum tempo limite expirar.

Você pode ir com as dicas de seta como dicas de erro do Adobe Flex. Concentra-se a atenção para o erro e fornece uma breve descrição.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top