Dynamics CRM 2011/13: vuelva a habilitar el evento onChange en el campo de formulario cuando el usuario no realizó cambios

Tengo un método de validación para un campo de formulario de correo electrónico, que se llama en el evento de cambio del campo y vuelve a poner el foco en el campo, si la validación falla:

function ValidateEMail(event) {

    var source = event.getEventSource();
    var value = source.getValue();
    var re = /^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/igm;

    if (value == '' || !re.test(value))
    {
      Xrm.Utility.alertDialog('Bitte geben Sie eine gültige E-Mail Adresse ein', null);
      Xrm.Page.getControl(event.getEventSource().getName()).setFocus(true);
      return false;    
    }
 } 

}

El problema es que el evento onchange no se vuelve a disparar si el foco sale del campo la próxima vez y el usuario no hizo ningún cambio. Desafortunadamente, no hay ningún evento lostFocus que pueda usar en su lugar. ¿Tienes alguna sugerencia para solucionar esto?

preguntado el 05 de febrero de 14 a las 15:02

2 Respuestas

Tienes pocas opciones:

  1. Revalidar onsave y bloquear save si el campo no es válido
  2. Borre el campo (establecido en nulo) y haga obligatorio.
  3. Llame al cambio desde el correo electrónico de validación, pero inserte una condición para evitar un bucle infinito.
  4. Use el campo de texto del tipo de correo electrónico y deje que CRM haga esto por usted.
  5. Use jquery y agregue enlace al evento de enfoque perdido

Respondido 05 Feb 14, 20:02

Esta respuesta tal vez unos meses más tarde, pero para referencia futura, sugeriría que el campo del formulario se personalice como una sola línea de texto con una opción de formato de "Correo electrónico".

Establecer la opción de formato en "Correo electrónico" habilitará la validación del lado del cliente de la entrada del usuario en el campo sin necesidad de JavaScript.

Aquí hay una referencia a las opciones de formato disponibles para un tipo de datos de una sola línea de texto en Dynamics CRM.

Respondido 28 Jul 15, 00:07

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.