net mvc for custom bootstrap asp asp.net validation

mvc - Conciso resumen de validación de ASP.NET



mvc required field validation (3)

¿Hay alguna manera de obtener el control de resumen de validación de ASP.NET para simplemente mostrar el texto de encabezado cuando hay un error de validación?

Básicamente lo que quiero es solo un mensaje simple como "Por favor complete todos los campos marcados con un *" para que aparezca junto al botón de enviar. Como estoy usando "*" para el mensaje de error en los validadores, no quiero que estos aparezcan en el resumen.

Gracias por cualquier ayuda.


Establezca cada texto de validadores en "*" y ErrorMessage en una cadena vacía.

<form id="form2" runat="server"> Name:<br /> <asp:TextBox ID="NameTextBox" runat="server" /> <asp:RequiredFieldValidator ID="NameTextBoxRequiredValidator" ControlToValidate="NameTextBox" ErrorMessage="" Text="*" runat="server" /> <br /> City:<br /> <asp:TextBox ID="CityTextBox" runat="server" /> <asp:RequiredFieldValidator ID="CityTextBoxRequiredValidator" ControlToValidate="CityTextBox" ErrorMessage="" Text="*" runat="server" /> <br /> <asp:Button ID="SubmitButton" Text="Submit" runat="server" /> <hr /> <asp:ValidationSummary ID="valSum" DisplayMode="SingleParagraph" HeaderText="Please complete all fields marked *" runat="server" /> </form>


Podría usar un Custom Validator y configurar la propiedad ClientValidationFunction para ejecutar una función de JavaScript que llenaría una etiqueta para mostrar su mensaje.

ASPX:

<asp:CustomValidator ID="validator" runat="server" ErrorMessage="*" ClientValidationFunction="Validate" ControlToValidate="controltovalidate" ValidateEmptyText="true"></asp:CustomValidator>

JavaScript:

function Validate(sender,args) { args.IsValid = true; if(args.Value == "") { document.getElementById(''YourCustomMessageLabel'').innerText = "Please complete all fields marked *" args.IsValid = false; } }


Si solo usa la propiedad Text de los controles de su validador y deja la propiedad ErrorMessage en blanco, entonces eso debería resolver su problema.