¡Caminando hacia el éxito!

Aprende en Comunidad

Avalados por :

Cómo mostrar mensajes de error de rango en webdynpro for java con SEO y concordancia.

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

Hola a todos

Tenemos el requisito de que el valor ingresado debe estar dentro del rango de 0 a 9999

Para esto, en webdynpro for java intenté crear un tipo simple de entero con un mínimo inclusivo de 0 y un máximo inclusivo de 9999

pero si ingresamos, por ejemplo, 99999, muestra un mensaje válido: el valor 99999 debe ser menor que MaxExclusive 9999

si ingresamos 23423423423423423423, muestra el mensaje de java que el rango de enteros debe estar dentro de este rango -2147483648 y +21...)

si ingresamos valores decimales, muestra el mismo mensaje de java que el rango de enteros debe estar dentro de este rango 2147483648 y +21...)

Para mí

siempre debería poder recibir este mensaje: el valor 99999 debe ser menor que MaxExclusive 9999 o

el valor -1 debe ser mayor o igual que Minclusive 0

independientemente de la entrada

¿Hay alguna forma de tener este tipo de mensaje?

para concluir, sin importar la entrada que dé, debería recibir el mensaje de que el valor debe estar dentro del rango de 0 a 9999

¿Alguien podría ayudar con este requisito complicado?

Gracias de antemano

Saludos

Chandra

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

4 Respuestas

0
Cargando...

Saleem, el usuario está ingresando un valor numérico, la pregunta es de qué tipo de dato se trata, int/float/long/double

Chandra,

Valor 1.1 no es un valor entero o un valor long. El tipo de dato es float.

cuando lo conviertas en un string, busca el índice de (.), y verifica el valor del string después de (.), no debería ser mayor a 0. Si lo es, el número ingresado no es un entero.

así es como va



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

int i = int value of a ;

if ( i > 0 ) "por favor ingresa un valor entero " ;
else{ convertir a lang y hacer proceso restante }

Saludos,

Nitin

Editado por: Nitin Mahajan el 19 de junio de 2009 a las 12:16 AM

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

Hi,

You can check with this code whether it is numeric or not


    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)
    {
       error message;
    }
    

Hope this helps you in resolving the problem

Regards,

Saleem

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

Hola Nitin,

Gracias por tu respuesta.

Estaba buscando algunas opciones en webdynpro para poder tener estas validaciones de entrada,

He probado lo que me has dicho, está bien, pero en uno de los casos resulta en el siguiente error

Supongamos que el usuario ingresa 1.1 como entrada, nuevamente da dos mensajes de error, uno es un mensaje personalizado y el otro es un mensaje estándar

Al dar 1.1 y presionar enter

obtenemos dos mensajes...

1. El valor debe ser de tipo entero (entre -2147483648 y 21...)

2. La cantidad debe estar entre 0 y 9999.

No deberíamos recibir este mensaje de error estándar en ningún caso.

Gracias de antemano

Saludos

Chandra

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

Deberías usar el foro de Java para este tipo de problemas. Sin embargo,

El error que has descrito es estándar, el que estás preguntando es personalizado. Tendrás que crear un código personalizado

Convierte un valor Integer en un valor Long.

Después de leer, verifica físicamente el rango de 0 - 9999

Muestra el mensaje como se requiere usando



int valor = //leer valor desde la IU

String str = String.valueOf( valor );

long abc =  Long.parseLong( str );


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

//mensaje de error

}



Saludos,

Nitin

Editado por: Nitin Mahajan el 17 de junio de 2009 a las 11:45 PM

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?