Skip to content
This repository has been archived by the owner on Nov 28, 2019. It is now read-only.

Commit

Permalink
Metodos Util actualizados. Registrar actualizado para verificar varia…
Browse files Browse the repository at this point in the history
…s cosas.
  • Loading branch information
xman40100 committed Feb 25, 2019
1 parent 2379bd3 commit 3577656
Show file tree
Hide file tree
Showing 2 changed files with 78 additions and 15 deletions.
53 changes: 40 additions & 13 deletions src/technomotica/java/forms/gestorusuarios/Registrar.java
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ public Registrar() {
ImageIcon img = new ImageIcon(new ImageIcon("src/technomotica/media/L1.png").getImage().getScaledInstance(122, 66, Image.SCALE_SMOOTH));
Imageplace.setIcon(img);


setLocationRelativeTo(null);
}

/**
Expand Down Expand Up @@ -256,7 +256,11 @@ public void limpiar() {
tfd_documento.setText("");
}
private void btn_registrarActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btn_registrarActionPerformed
guardar();
}//GEN-LAST:event_btn_registrarActionPerformed

private void guardar() {

String nombre1 = tfd_Nombre1.getText();
String nombre2 = tfd_Nombre2.getText();
String apellido1 = tfd_Apellido1.getText();
Expand All @@ -268,27 +272,50 @@ private void btn_registrarActionPerformed(java.awt.event.ActionEvent evt) {//GEN
//Usuario person = new Usuario(nombre1, nombre2, apellido1, apellido2, correo, documento, contra);

String str = String.format("Por favor, confirme los siguientes datos:\n\nPrimer nombre: %s\nSegundo nombre: %s.\nPrimer apellido: %s\nSegundo apellido: %s\nCorreo electrónico: %s\nDocumento de identidad: %s\nContraseña: %s", nombre1, nombre2, apellido1, apellido2, correo, documento, contra);
if(Util.chequearStrings(nombre1, nombre2, apellido1, apellido2, correo, documento, contra)) JOptionPane.showMessageDialog(null, "Uno de los campos de texto están vacíos.", "Error", JOptionPane.ERROR_MESSAGE);
else {
int confirm = JOptionPane.showConfirmDialog(null, str, "Confirmación de datos", JOptionPane.YES_NO_OPTION, JOptionPane.QUESTION_MESSAGE);
if(confirm == JOptionPane.YES_OPTION) {
confirm = JOptionPane.showConfirmDialog(null, "¿Deseas seguir agregando usuarios?", "Confirmación de datos", JOptionPane.YES_NO_OPTION, JOptionPane.QUESTION_MESSAGE);
if(confirm == JOptionPane.YES_OPTION) {
limpiar();
if(Util.chequearStrings(nombre1, nombre2, apellido1, apellido2, correo, documento, contra)) {
if(Util.esCorreo(correo)) {
if(Util.esNumerico(documento)) {
int confirm = JOptionPane.showConfirmDialog(null, str, "Confirmación de datos", JOptionPane.YES_NO_OPTION, JOptionPane.QUESTION_MESSAGE);
if(confirm == JOptionPane.YES_OPTION) {
confirm = JOptionPane.showConfirmDialog(null, "¿Deseas seguir agregando usuarios?", "Confirmación de datos", JOptionPane.YES_NO_OPTION, JOptionPane.QUESTION_MESSAGE);
if(confirm == JOptionPane.YES_OPTION) {
limpiar();
}
else redirigir();
}
}
else redirigir();
else JOptionPane.showMessageDialog(null, "El documento de identidad posee caracteres no numéricos.", "Error", JOptionPane.ERROR_MESSAGE);
}
else JOptionPane.showMessageDialog(null, "El campo de correo electrónico no contiene un correo válido.", "Error", JOptionPane.ERROR_MESSAGE);
}

}//GEN-LAST:event_btn_registrarActionPerformed

else JOptionPane.showMessageDialog(null, "Uno de los campos de texto están vacíos.", "Error", JOptionPane.ERROR_MESSAGE);
}
private void btn_registrarMouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_btn_registrarMouseClicked
// TODO add your handling code here:
}//GEN-LAST:event_btn_registrarMouseClicked

private void formWindowClosing(java.awt.event.WindowEvent evt) {//GEN-FIRST:event_formWindowClosing
// TODO add your handling code here:
redirigir();
String nombre1 = tfd_Nombre1.getText();
String nombre2 = tfd_Nombre2.getText();
String apellido1 = tfd_Apellido1.getText();
String apellido2 = tfd_Apellido2.getText();
String correo = tfd_correo.getText();
String documento = tfd_documento.getText();
String contra = tfd_contraseña.getText();
if(Util.chequearStringsNoOb(nombre1, nombre2, apellido1, apellido2, correo, documento, contra)) {
int confirm = JOptionPane.showConfirmDialog(null, "Los campos de texto poseen datos que no han sido guardados.\n¿Deseas cerrar esta ventana?", "Confirmación de salida", JOptionPane.YES_NO_OPTION, JOptionPane.QUESTION_MESSAGE);
if(confirm == JOptionPane.YES_OPTION) {
guardar();
redirigir();
}
}
else {
int confirm = JOptionPane.showConfirmDialog(null, "¿Quieres cerrar esta ventana de todas maneras?", "Confirmación de salida", JOptionPane.YES_NO_OPTION, JOptionPane.QUESTION_MESSAGE);
if(confirm == JOptionPane.YES_OPTION) redirigir();
}

}//GEN-LAST:event_formWindowClosing

/**
Expand Down
40 changes: 38 additions & 2 deletions src/technomotica/objs/Util.java
Original file line number Diff line number Diff line change
Expand Up @@ -20,14 +20,50 @@ public static boolean chequearString(String str) {
* @return Retorna si TODOS los strings están vacíos. True si lo están, false si al menos hay un String que no está vacio.
*/
public static boolean chequearStrings(String... str) {
boolean allEmpty = true;
boolean allEmpty = false;
for(String st : str) {
if(!chequearString(st)) {
allEmpty = false;
allEmpty = true;
break;
}
}
return allEmpty;
}

/**
* Versión alternativa y múltiple del método chequearString. Este método comprueba si hay al menos un solo argumento que este vacio.
* @param str Argumentos N Strings a chequear.
* @return Retorna si TODOS los strings están vacíos. True si lo están, false si al menos hay un String que no está vacio.
*/
public static boolean chequearStringsNoOb(String... str) {
boolean emptyness = false;
for(String st : str) {
if(!chequearString(st)) {
emptyness = true;
break;
}
}
return emptyness;
}

/**
* Este método chequea si el String contiene un email.
* @param str Cadena de texto a comprobar si es correo.
* @return Retorna verdadero/falso dependiendo de si se obtuvo el correo correctamente.
*/
public static boolean esCorreo(String str) {
//Expresión regular/Regular expression sacado de emailregex.com
return str.matches("(?:[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*|\"(?:[\\x01-\\x08\\x0b\\x0c\\x0e-\\x1f\\x21\\x23-\\x5b\\x5d-\\x7f]|\\\\[\\x01-\\x09\\x0b\\x0c\\x0e-\\x7f])*\")@(?:(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?|\\[(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?|[a-z0-9-]*[a-z0-9]:(?:[\\x01-\\x08\\x0b\\x0c\\x0e-\\x1f\\x21-\\x5a\\x53-\\x7f]|\\\\[\\x01-\\x09\\x0b\\x0c\\x0e-\\x7f])+)\\])");
}

/**
* Este método chequea si el String es numérico.
* @param str Cadena de texto a verificar si es numérica.
* @return Retorna verdadero/falso dependiendo de si es numérico.
*/
public static boolean esNumerico(String str) {
//Expresión regular sacada de StackOverflow: https://stackoverflow.com/a/1102916
return str.matches("-?\\d+(\\.\\d+)?");
}

}

0 comments on commit 3577656

Please sign in to comment.