Search code examples
asp.net-mvcvalidationvalidationsummary

Html.ValidationSummary(false, "message") is always showing, even on page load


I am using client side validation and I would like the message below to show only when I have an error. I am trying to use this a general error in case any field is invalid.
Currently

"* denotes required field"

is always showing even before validation.

<%: Html.ValidationSummary(false, "* denotes required field.")%>

I am using model binding to perform validation on client side and MVC.


Solution

  • If you use a developer tool in your browser to inspect the validation summary text you'll see that it has the class validation-summary-valid when it is clear but validation-summary-errors when there are form errors.

    Therefore, just create a css rule as follows;

    .validation-summary-valid {
        display:none;
    }
    

    and all should be good.