Tengo tres cuadros de texto en un formulario web asp.net, ¿cómo/puedo usar un validador de campo requerido para asegurar que al menos uno de ellos contenga texto?asp.net validador de campo requerido para al menos un cuadro de texto contiene texto
Respuesta
me gustaría utilizar un CustomFieldValidator así:
<asp:CustomValidator runat="server"
ID="MyCustomValidator"
ValidationGroup="YOUR_VALIDATION_GROUP_NAME"
OnServerValidate="MyCustomValidator_ServerValidate"
ErrorMessage="At least one textbox needs to be filled in." />
y luego en su código subyacente tiene:
protected void MyCustomValidator_ServerValidate(object source, ServerValidateEventArgs args)
{
if (/* one of three textboxes has text*/)
args.IsValid = true;
else
args.IsValid = false;
}
También puede agregar un componente de cliente para esta validación, y hacerlo sexy extendiéndolo con el control ValidatorCalloutExtender de AJAX toolkit.
No me gustó que esto causara una devolución de datos, así que terminé configurando ClientIDMode = "static" y codificando los valores en una función JS. No estaba realmente interesado en hacer ningún mensaje de error ni nada; Solo quería que el botón no hiciera nada. Gracias por el código. Funcionó totalmente, solo usar un Custom Validator fue la elección incorrecta. Que es mi culpa, no tuya – Shawn
Encontré que esto no activaría la validación con un ValidationGroup especificado. Una vez que lo saqué, funcionó a las mil maravillas. – techturtle
No creo que RequiredFieldValidator cumpla con sus requisitos. Me gustaría ir con un CustomValidator
asignado a cualquiera de sus campos y verificarlos manualmente cuando se dispara.
<script>
function doCustomValidate(source, args) {
args.IsValid = false;
if (document.getElementById('<% =TextBox1.ClientID %>').value.length > 0) {
args.IsValid = true;
}
if (document.getElementById('<% =TextBox2.ClientID %>').value.length > 0) {
args.IsValid = true;
}
if (document.getElementById('<% =TextBox3.ClientID %>').value.length > 0) {
args.IsValid = true;
}
}
</script>
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
<asp:CustomValidator ID="CustomValidator1" runat="server"
ErrorMessage="have to fill at least 1 field"
ControlToValidate="TextBox1"
ClientValidationFunction="doCustomValidate"
ValidateEmptyText="true" ></asp:CustomValidator><br />
<asp:TextBox ID="TextBox2" runat="server"></asp:TextBox><br />
<asp:TextBox ID="TextBox3" runat="server"></asp:TextBox><br />
No se olvide de establecer ValidateEmptyText="true"
como el valor predeterminado es saltarse los campos vacíos. asegúrese de crear un método de validación del lado del servidor similar también.
- 1. Validador de campo requerido en el repetidor
- 2. Validación de número en el validador de campo requerido
- 3. ¿Cómo puedo desactivar el comportamiento de "pérdida de foco" del validador de campo requerido de ASP.NET
- 4. asp.net validador de campo requerido deshabilita el botón de ingreso formulario de envío
- 5. ASP.NET campo oculto vs. cuadro de texto invisible
- 6. El uso de un cuadro de texto HTML en lugar de un cuadro de texto ASP.NET
- 7. ASP.NET: Validar cuadro de texto contiene un número entero mayor que igual a cero?
- 8. Validación de la lista desplegable en Asp.net usando el validador de campo requerido
- 9. Haciendo cuadro de texto oculto en ASP.NET
- 10. ASP.NET - Hacer un cuadro de texto obligatorio SI se marca una casilla de verificación
- 11. formulario de envío no contiene datos de cuadro de texto [ASP.NET C#]
- 12. Forzar el cursor para ir al campo de texto
- 13. Cuadro de texto resaltado de sintaxis para Winforms, ASP.NET, WPF
- 14. Establecer texto para un campo de texto en UIWebView
- 15. Jquery fadeout texto en un cuadro de texto y texto
- 16. Agregar texto al principio en el cuadro de texto enriquecido
- 17. Ingresar menos en el cuadro de texto RTL
- 18. Borrado de un cuadro de texto en ASP.NET
- 19. Deshabilitar un cuadro de texto con CSS
- 20. SQLite campo de selección si el texto en el interior contiene un texto específico
- 21. Cómo crear un combo box o un cuadro de texto de autocompletar para filtrar el texto que contiene una cadena
- 22. Actualizar cuadro de texto al escribir
- 23. Validador de expresiones regulares ASP para el cuadro de texto multilínea
- 24. Validador de campo obligatorio que no se activa
- 25. cuadro de texto TextTrimming
- 26. Cuadro de texto - centrado de texto
- 27. Anular la selección de texto en un cuadro de texto
- 28. ¿Detecta el "valor" del campo de texto de entrada después de un evento de selección en el campo de texto?
- 29. Cuadro de texto árabe
- 30. Problemas de ancho de cuadro de texto: ASP.NET
posible duplicado de [asp.net validate textbox - al menos un cuadro de texto debe tener datos en] (http://stackoverflow.com/questions/1443545/asp-net-validate-textbox-at-least-one- text-box-must-have-data-in) –