I am adding some error messages to my ModelState
from controller so that I can display it in my view. My Code is like this.
ModelState.AddModelError(key: "MyError", errorMessage: "This phone number is already in use. Please register with a different phone number.");
And in my view I am displaying it like this
foreach (ModelState modelState in ViewData.ModelState.Values)
{
var errors = modelState.Errors;
if (errors.Any())
{
foreach (ModelError error in errors)
{
<p class="common-error">@error.ErrorMessage</p>
}
}
}
One issue with this approach is that, it is displaying all kind of ModelState
errors where I want only to show error messages with a key MyError
. How can I make this?
You can iterate through keys like this:
foreach (var modelStateKey in ViewData.ModelState.Keys)
{
//decide if you want to show it or not...
//...
var value = ViewData.ModelState[modelStateKey];
foreach (var error in value.Errors)
{
//present it
//...
}
}