2012-04-02 8 views
5

Tenemos un formulario con una serie de campos obligatorios. Cuando estoy en un campo obligatorio y presiono la tecla Intro, el formulario no se envía. Sin embargo, si estoy en un campo que no es obligatorio, presionar la tecla Intro envía el formulario. Esto es problemático porque enviar el formulario es lo que dispara la validación para mostrar el resumen de validación en la parte superior. Si estoy en un campo obligatorio, no se activa esta validación. Parece disparar su propia validación y mostrar mi texto de error (que es solo un asterisco) pero la gente no está viendo esto.asp.net validador de campo requerido deshabilita el botón de ingreso formulario de envío

¿Alguien sabe por qué una clave de ingreso de campo no requerida enviaría el formulario, pero una tecla de ingreso de campo requerida no lo haría?

Respuesta

0

Según lo que ha descrito, parece que está utilizando la validación del lado del servidor. Intente configurar EnableClientScript como falso en el validador, lo que deshabilitará la validación del lado del cliente.

Si esto no es suficiente, se puede anular la validación cuando se hace clic en el botón de enviar la siguiente manera:

<script type="text/javascript"> 
    validateForm = function(){ 
     var isValid = Page_ClientValidate(""); 
     if (isValid){ 
      //some custom logic if needed 
     } 
     return true; //do the postback even if validation fails? 
        //otherwise return isValid 
    } 
</script> 
<asp:Button ID="Button1" runat="server" OnClientClick="return validateForm();" ... /> 
+0

estoy usando tanto la validación del lado del servidor y el cliente. No entiendo por qué no quisiera usar la validación del lado del cliente. Cuando establezco la validación del lado del cliente del validador en falso, no tengo campos obligatorios para enviar el formulario. Esa tampoco es la idea. Solo espero que cualquier campo, excepto un campo de texto, envíe el formulario al presionar Enter, independientemente de si es obligatorio o no. –

+0

Es por eso que proporcioné un ejemplo que le permite manipular el proceso de validación para satisfacer sus necesidades. –

+0

Entonces, ¿está diciendo que, en lugar de tener todos los campos, envíe el formulario, haga que nadie lo envíe y la única forma de enviarlo es presionar el botón? –

Cuestiones relacionadas