crazyPen
crazyPen

Reputation: 873

How to customize validation error message given by text-danger?

I have a dropdown list on one of my pages in my MVC .NET Core project that I want to customise the default validation text for.

<select asp-for="ProductID" class="form-control" asp-items="ViewBag.ProductID">
    <option value="">--Select Product --</option>
</select>
<span asp-validation-for="ProductID" class="text-danger" />

The standard validation error message given is "The Product ID field is required". I want to change this to something else.

I have tried using this

 <span asp-validation-for="ProductID" class="text-danger">Please enter a product</span>

But the error message displays when the page loads instead of when the button is clicked

What is the appropriate way to customise validation text?

Upvotes: 13

Views: 20822

Answers (2)

BV Winoya
BV Winoya

Reputation: 345

If you do not require ViewModel then you can use the following,

Add "data-val-required" for message

Then "data-valmsg-replace" will display the same

Upvotes: 4

Camilo Terevinto
Camilo Terevinto

Reputation: 32068

That's normally done in the ViewModel you want to return to the Controller:

public class SomeViewModel
{
    [Required(ErrorMessage = "Your elegant error message goes here")]
    public int ProductId { get; set; }
}

Upvotes: 21

Related Questions