¡Caminando hacia el éxito!

Aprende en Comunidad

Avalados por :

Como exibir mensagens de erro de intervalo no webdynpro para java com SEO e relevância.

  • Creado 01/03/2024
  • Modificado 01/03/2024
  • 7 Vistas
0
Cargando...

Olá a todos

Temos o requisito de que o valor inserido deve estar dentro da faixa de 0 a 9999

Para isso, no webdynpro for java, tentei criar um tipo simples de inteiro com um mínimo inclusivo de 0 e um máximo inclusivo de 9999

mas se inserirmos, por exemplo, 99999, ele exibe uma mensagem válida: o valor 99999 deve ser menor que MaxExclusive 9999

se inserirmos 23423423423423423423, ele exibe a mensagem de java que a faixa de inteiros deve estar dentro deste intervalo -2147483648 e +21...)

se inserirmos valores decimais, ele exibe a mesma mensagem de java que a faixa de inteiros deve estar dentro deste intervalo 2147483648 e +21...)

Para mim

sempre deveria poder receber esta mensagem: o valor 99999 deve ser menor que MaxExclusive 9999 ou

o valor -1 deve ser maior ou igual a Minclusive 0

independentemente da entrada

Existe alguma maneira de ter esse tipo de mensagem?

para concluir, independentemente da entrada fornecida, deveria receber a mensagem de que o valor deve estar dentro da faixa de 0 a 9999

Alguém poderia ajudar com este requisito complicado?

Agradeço antecipadamente

Saudações

Chandra

Pedro Pascal
Se unió el 07/03/2018
Pinterest
Telegram
Linkedin
Whatsapp

4 Respuestas

0
Cargando...

Saleem, o usuário está inserindo um valor numérico, a pergunta é de que tipo de dado se trata, int/float/long/double

Chandra,

Valor 1.1 não é um valor inteiro ou longo. O tipo de dado é float.

ao convertê-lo em uma string, procure o índice de (.), e verifique o valor da string após (.), não deve ser maior que 0. Se for, o número inserido não é um inteiro.

é assim que vai



string a = substring( string after " ." ) ;

int i = int value of a ;

if ( i > 0 ) "por favor, insira um valor inteiro " ;
else{ converter a lang e fazer processo restante }

Saudações,

Nitin

Editado por: Nitin Mahajan em 19 de junho de 2009 às 12:16 AM

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019
0
Cargando...

Oi,

Você pode verificar com este código se é numérico ou não


    public boolean isNumeric(int K) {
    
       String s = String.valueOf(k);
       
       char[] numbers = s.toCharArray();
       
    	 for (int i = 0; i < numbers.length; i++) {
    		if (!('.'==numbers<i>)&& !Character.isDigit(numbers<i>)) 
    		return false;
    	 }
    	 return true;
      }
    
    if(isNumeric()==false)
    {
       mensagem de erro;
    }
    

Espero que isso te ajude a resolver o problema

Cumprimentos,

Saleem

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019
0
Cargando...

Olá Nitin,

Obrigado pela sua resposta.

Estava procurando algumas opções no webdynpro para poder ter essas validações de entrada.

Testei o que você disse, está correto, mas em um dos casos resulta no seguinte erro:

Suponha que o usuário insira 1.1 como entrada, novamente são exibidas duas mensagens de erro, uma é uma mensagem personalizada e a outra é uma mensagem padrão.

Ao inserir 1.1 e pressionar enter, obtemos duas mensagens:

1. O valor deve ser do tipo inteiro (entre -2147483648 e 21...)

2. A quantidade deve estar entre 0 e 9999.

Não deveríamos receber essa mensagem de erro padrão em nenhum caso.

Agradeço antecipadamente.

Saudações,

Chandra

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019
0
Cargando...

Deveria usar o fórum de Java para esse tipo de problemas. No entanto,

O erro que descreveu é padrão, o que está perguntando é personalizado. Terá que criar um código personalizado

Converta um valor Integer em um valor Long.

Após ler, verifique fisicamente o intervalo de 0 - 9999

Mostre a mensagem conforme necessário usando



int valor = //ler valor da IU

String str = String.valueOf( valor );

long abc =  Long.parseLong( str );


if(abc<= 0 || abc >= 9999 ) {  

//mensagem de erro

}



Saudações,

Nitin

Editado por: Nitin Mahajan em 17 de junho de 2009 às 23:45

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019

contacto@primeinstitute.com

(+51) 1641 9379
(+57) 1489 6964

© 2024 Copyright. Todos los derechos reservados.

Desarrollado por Prime Institute

¡Hola! Soy Diana, asesora académica de Prime Institute, indícame en que curso estas interesado, saludos!
Hola ¿Puedo ayudarte?