Question

I Want to obtain something like this:

' myKey: errorMessage '

Now i've a list with all the ModelState errors:

List<String> modelStateErrors2 = ModelState.Keys.SelectMany(key => this.ModelState[key].Errors).Select(x => x.ErrorMessage).ToList();

But need to add the key in the begin of the string.

It is possible?

Was it helpful?

Solution

You need to move the Select() inside the SelectMany() so it can close over the key:

ModelState.Keys.SelectMany(key => this.ModelState[key].Errors.Select(x => key + ": " + x.ErrorMessage));

This would be simpler as a query comprehension:

from kvp in ModelState
from e in kvp.Value.Errors
select kvp.Key + ": " + e.ErrorMessage
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top