Я тестирую список вещей для null. Каждый раз, когда я нахожу его, я сохраняю его в массиве, чтобы реализовать его в validationmessage.
Выход, который я хочу, выглядит следующим образом:
Поле 1 требуется
Поле 4 требуется
и т.д...
Но я не могу начать новую строку.
Теперь это выглядит так:
Поле 1 требуется Поле 4 требуется
Кто-нибудь знает, как это достичь?
EDIT:
контроллер:
IDictionary<int, String> emptyFields = new Dictionary<int, String>();
foreach (Something thing in AnotherThing.Collection)
{
if (thing.Property == null)
emptyFields.add(thing.Index, thing.Name);
}
if (emptyFields.Any())
throw new CustomException() { EmptyFields = emptyFields };
Это исключение обрабатывается здесь:
catch (CustomException ex)
{
ModelState.AddModelError("file", ex.GetExceptionString());
return View("theView");
}
CustomException:
public class CustomException: Exception
{
public IDictionary<int,String> EmptyFields { get; set; }
public override String Label { get { return "someLabel"; } }
public override String GetExceptionString()
{
String msg = "";
foreach (KeyValuePair<int,String> elem in EmptyFields)
{
msg += "row: " + (elem.Key + 1).ToString() + " column: " + elem.Value + "<br/>";
}
return msg;
}
}
Вид:
<span style="color: #FF0000">@Html.Raw(Html.ValidationMessage("file").ToString())</span>