Page 1 of 1

Campos obligatorios

Posted: Wed Dec 13, 2017 4:37 pm
by milagrosmaria16
Buen día,

Tengo una pequeña pregunta, tengo dos campos:

Campo 1 Campo2
*Fijo: *Móvil:

Ambos son obligatorios pero uno se dehabilitará solo si unos de estos es llenado.

Ejm:
Si ingreso el número fijo el campo móvil pasaría a no obligatorio.

Espero su ayuda!!! Muchas gracias.

Re: Campos obligatorios

Posted: Wed Dec 13, 2017 5:13 pm
by gabrielrojas
Hola milagrosmaria16!

Te comento que acabo de hacer la prueba con tus mismos campos y no puedo hacer submit a menos que llene ambos, estas utilizando la opcion de "required" para ambos campos? Ambos se mantienen en estado de *required independientemente uno del otro

Saludos!
Gabo

Re: Campos obligatorios

Posted: Wed Dec 13, 2017 7:16 pm
by amosbatto
Milagrosmaria,
Puedes usar este código de JavaScript en tu DynaForm:
Code: Select all
$("#numeroFijo").setOnchange(function(newVal, oldVal) {
  if (newVal.trim() == '') {
    $("#numeroMovil").enableValidation();
  }
  else {
    $("#numeroMovil").disableValidation();
  }
});  

$("#numeroMovil").setOnchange(function(newVal, oldVal) {
  if (newVal.trim() == '') {
    $("#numeroFijo").enableValidation();
  }
  else {
    $("#numeroFijo").disableValidation();
  }
});  
Adjunto un ejemplo que puedes usar:
(2.42 KiB) Downloaded 308 times

Re: Campos obligatorios

Posted: Thu Dec 14, 2017 12:29 pm
by milagrosmaria16
Si me funciona, muchas gracias!!!!

Re: Campos obligatorios

Posted: Fri Jan 12, 2018 5:18 pm
by lupequispe13
Buenas tardes compañeros,

Tengo una pregunta con respecto a esto, al llenar el primer campo* (fijo) el segundo queda sin efecto pero si lo lleno también (movil) lo que queda sin efecto es la validación.

Como podría hacer para que si lleno ambos campos no se pierda la validación (Ejm: El fijo debe tener 7 números y el móvil debe tener 9)

¿Podrian ayudarme?

Muchas gracias!!!!!!

Re: Campos obligatorios

Posted: Fri Jan 12, 2018 10:10 pm
by amosbatto
lupequispe13 wrote:Tengo una pregunta con respecto a esto, al llenar el primer campo* (fijo) el segundo queda sin efecto pero si lo lleno también (movil) lo que queda sin efecto es la validación.

Como podría hacer para que si lleno ambos campos no se pierda la validación (Ejm: El fijo debe tener 7 números y el móvil debe tener 9)

¿Podrian ayudarme?
Puedes usar este código:
Code: Select all
getFormById( $("form").prop("id") ).setOnSubmit( function() {
  var fijo = $("#numeroFijo").getValue();
  var movil = $("#numeroMovil").getValue();

  if (fijo == "" && movil == "") {
    return false;
  }
  else if (fijo == "") { 
    $("#numeroFijo").disableValidation();
  }
  else if (movil == "") {
    $("#numeroMovil").disableValidation();
  }
})

Re: Campos obligatorios

Posted: Mon Feb 05, 2018 6:17 pm
by milagrosmaria16
Buenas tardes,

Estoy probando el ejemplo que me enviaste pero sigue sin funcionar, los campos son obligatorios sin hacerse el cambio requerido.

Adjunto mi dynaform, espero me puedas apoyar!!!

Saludos, muchas gracias!!!

Re: Campos obligatorios

Posted: Mon Feb 05, 2018 9:01 pm
by amosbatto
Parece que la validación de campos es antes de la acción de submit. OK, puedes usar este código:
Code: Select all
$("#txtNumContacto").setOnchange(function(newVal, oldVal) {
  var fijo = newVal.trim();
  var movil = $("#txtMovil").getValue().trim();
  
  if (fijo != '') {
    $("#txtNumContacto").enableValidation();
    
    if (movil == '') 
      $("#txtMovil").disableValidation();
  }
  else { //fijo == ''
    if (movil != '') 
      $("#txtNumContacto").disableValidation();
  } 
}); 

$("#txtMovil").setOnchange(function(newVal, oldVal) {
  var movil = newVal.trim();
  var fijo = $("#txtNumContacto").getValue().trim();
  
  if (movil != '') {
    $("#txtMovil").enableValidation();
    
    if (fijo == '') 
      $("#txtNumContact").disableValidation();
  }
  else { //movil == ''
    if (fijo != '') 
      $("#txtMovil").disableValidation();
  } 
}); 
 
Si quieres validación inmediata, puedes usar $("#form\\[txtMovil\\]").keypress() en lugar de
$("#txtMovil").setOnchange().