ASP .NET MVC - Html.ValidationSummary - nowa linia

0

Cześć, mam pytanie w jaki sposób w Html.ValidationSummary wymusić utworzenie nowej linii? Przyjmijmy, że mam metodę post w kontrolerze :

 [HttpPost]
        public ActionResult Index()
        {
            string validationMessage = "Podane hasło nie spełnia restrykcji. -Wymagane min 8 znaków. -Wymagane znaki specjalne";

            ModelState.AddModelError(String.Empty, validationMessage);
            return View();
        }

Przyjmijmy, że w zmiennej validationMessage mam błąd który dodaje do ModelState. Natomiast w wiodoku mam tylko wywołanie czyli: "@Html.ValidationSummary()",
natomiast w stringu validationSummary chcę utworzyć nową linię przed każdym "-", czyli chciałbym wyświetlić status w formacie:

Podane hasło nie spełnia restrykcji. 
-Wymagane min 8 znaków. 
-Wymagane znaki specjalne

Próbowałem przed znakami "-' stawiać "< br >" oraz znak "\n" ale i tak ostatecznie wszystko wyświetli mi się w jednej linii w jaki sposób wymusić utworzenie nowej linii?

1

próbowałeś może z Environment.NewLine ?

0

Próbowałem też z Environment.NewLine - ale niestety, też nie działa

3

No raczej trudno, żeby systemowa nowa linia zadziałała w HTMLu.

@Html.Raw(HttpUtility.HtmlDecode(Html.ValidationSummary(true, "Podane hasło nie spełnia restrykcji. <br> -Wymagane min 8 znaków. <br> -Wymagane znaki specjalne").ToHtmlString()))
2

Możesz zrobić tak jak @somekind sugeruje, lub możesz też zrobić to jak biali ludzie i skorzystać z np. znaczników htmla typu

<pre>

var str = @$"Podane hasło nie spełnia restrykcji. {Environment.NewLine}-Wymagane min 8 znaków. {Environment.NewLine}-Wymagane znaki specjalne";
return View("Index", str);
<pre>@Model</pre>

i wtedy nawet ta "linia systemowa" wyświetli się jako

screenshot-20200207195837.png

0

Dodałem rozwiazanie @somekind i pomogło. Dzięki wszystkim za pomoc ;)

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0