Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

ModelState create List string with Key + ErrorMessage. (LINQ)

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?

like image 849
Ezequiel Leiva Avatar asked Aug 22 '13 15:08

Ezequiel Leiva


1 Answers

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
like image 54
SLaks Avatar answered Sep 27 '22 17:09

SLaks