O que fazer se alguém tentar adicionar parte de um produto a uma cesta?

StackOverflow https://stackoverflow.com/questions/1237640

  •  11-09-2019
  •  | 
  •  

Pergunta

Se um cliente foram "bobo" (sendo educado aqui) o suficiente para tentar e adicionar, por exemplo, 4,6 itens para sua cesta, o que você espera ver? ou como você lidaria com isso. Obviamente, nós apenas lidar com quantidades digitais (nossa serra quebrou na semana passada).

Parece haver um monte de inconsistência em toda a web.

  • Amazon arredonda para baixo (4.6-> 4, 1.3-> 1)
  • Firebox Rondas (4.6-> 5, 1.3-> 1)
  • Ebuyer ignora a entrada (sem erro)
  • Expansys remove o item da sua cesta
  • Estou assumindo algum site irá mostrar um erro

Qual é a melhor solução

Foi útil?

Solução

  1. Adicionar verificação JavaScript que removeria entrada não numérica enquanto o usuário está digitando

  2. Implementar solução para trás para a situação quando o JavaScript está desligado, ou exibir uma mensagem de erro ou arredondar o valor, mas, em seguida, exibir uma mensagem dizendo "sua entrada foi ajustado"

acrescentou: Também estar ciente de que o caractere que separa a parte fracionária do número inteiro um difere de país para país. Em US Eu acredito que é ' ' na Europa é geralmente','. Se seus aplicativos é dirigido a clientes em diferentes países com diferentes representação numérica, não faria sentido para implementar o suporte para ambos os personagens em sua lógica de aplicação. Caso contrário, alguns usuários receberão mensagens de erro formato sem saber por quê -. Non-techie pessoas desconhecem muitas vezes esta questão formato

Outras dicas

Como cerca de validar a entrada do usuário e aceitar apenas caracteres numéricos?

Uma solução seria trazer a entrada incorreta a atenção do usuário para que possam corrigi-lo. Arredondamento pode ser demasiado de uma suposição, dependendo do contexto.

Exibição de uma mensagem de erro ao lado do montante algo como isto: ". Sinto muito, não podemos fornecê-lo com 4.6 itens Por favor insira um número inteiro" ... ou algo nesse sentido.

Outra solução seria a de evitar a exibição de mensagens de erro ao restringir o campo de entrada para permitir apenas a entrada válida. ou seja, se você não quiser 4.6 itens ... só permitem que o usuário seja capaz de escrever 0-9. Se o usuário não pode entrar entrada incorrecta, nunca há qualquer razão para exibir uma mensagem de erro.

Assumindo que você está falando de um aplicativo web aqui, você pode limitar os caracteres permitidos na caixa de entrada.

Como alternativa, IMO você poderia usar Spinner (+/-) controles para alterar a quantidade.

Eu acredito tesco.com faz isso.

A melhor solução de acordo com a mim seria

  1. Cliente entra: 4.6
  2. Valor muda para 5 após o envio (ou se 4,4, em volta dele a 4)
  3. Aviso é exibida informando ao usuário que apenas números inteiros são válidos e que o sistema tem roundedy "seu" de entrada (4.6) a 5

Uma solução seria para informar o usuário que a sua selecção é inválido quando guia fora do campo de edição que de lhes permitiu entrar na fração.

A opção de menor seria a de volta (para baixo, a menos que você é ganancioso para vender um artigo extra), ou para rejeitar a entrada completamente.

A melhor solução é evitar que as fracções em primeiro lugar, dando-lhes um controle deslizante ou girar o controle para selecionar apenas números inteiros.

No final é sempre verificação do lado do servidor mais seguro add.

Assim, se a entrada não é um valor inteiro:

  1. I irá redirecionar o usuário para o mesmo formulário.
  2. I irá definir o campo com o valor andar (4).
  3. Eu vou colocar em cima do campo de uma mensagem como "O campo deve ser um valor inteiro. Pode ser que você queria 4 peças deste produto?"

Na minha opinião, se o seu produto é um sistema de compras, então faz sentido que o objetivo principal é vender alguns itens. Normalmente, os clientes querem se apresentar como menos ações como possível, de modo que o sistema deve prever o cliente poderia desejar quando se digita entradas incorretas.

  • Amazon arredonda para baixo (4.6-> 4, 1.3-> 1) - o melhor para mim, porque tudo depois do ponto decimal pode ser destinado a alguma outra entrada;
  • Rondas Firebox (4.6-> 5, 1.3-> 1) - quanto a mim eu não gosto quando alguém quer me vender mais do que eu quero comprar, então é melhor 'chão' do que 'round';
  • Ebuyer ignora a entrada (sem erro) - então você vai vender não precisa de nada e de usuário para entrar alguns valores mais uma vez;
  • Expansys remove o item da sua cesta - terrível, agora eu preciso procurar o item na loja, mais uma vez;
  • Estou assumindo algum site irá mostrar um erro - não é mau, mas necessário usuário valor Redigite;.

Eu implementado como Amazon além de informar usuário que a entrada não esteja completamente claro e pedindo-lhe para verificar novamente o valor. Então, se o sistema adivinhou certo, então necessidade do usuário para a mudança nada, mas se ele digitado errado ele vai vê-lo imediatamente.

Além disso, você poderia registrar todo este tipo de incidentes e, em seguida, realizar uma análise, o usuário digitou pela primeira vez e que era a contagem real ele comprou. Só por curiosidade ...

Bem, você definitivamente nunca deve rodada para cima. Você não deve nunca conta para mais materiais do que o cliente solicitou, não importa quão inane a solicitação.

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