Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Как сделать Html.ValidationMessageFor в виде <div class='ttt'>errormessage</div> Срочно / 25 сообщений из 43, страница 1 из 2
21.11.2014, 14:53
    #38813303
stinggga
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как сделать Html.ValidationMessageFor в виде <div class='ttt'>errormessage</div> Срочно
Добрый день.
Как сделать Html.ValidationMessageFor в виде необходимого шаблона <div class='ttt'>errormessage</div>


[Display(Name = "Имя пользователя")]
[Required(ErrorMessage = "Вы не ввели [Имя пользователя]")]
[StringLength(50)]
public string UserName { get; set; }

Помогите, пожалуйста. Срочно

Чтобы было не "Вы не ввели [Имя пользователя]"
а <div class='ttt1'><div class='ttt2'>Вы не ввели [Имя пользователя]</div></div>

Если можна приммером
...
Рейтинг: 0 / 0
21.11.2014, 15:03
    #38813315
carrotik
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как сделать Html.ValidationMessageFor в виде <div class='ttt'>errormessage</div> Срочно
...
Рейтинг: 0 / 0
21.11.2014, 15:53
    #38813365
stinggga
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как сделать Html.ValidationMessageFor в виде <div class='ttt'>errormessage</div> Срочно
carrotikstinggga,
How to customize Html.ValidationMessageFor in ASP MVC

Отличный пример. Только он у меня сразу отображается. А когда валидация исчезает и ничего нет.
...
Рейтинг: 0 / 0
21.11.2014, 15:55
    #38813368
stinggga
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как сделать Html.ValidationMessageFor в виде <div class='ttt'>errormessage</div> Срочно
stingggacarrotikstinggga,
How to customize Html.ValidationMessageFor in ASP MVC

Отличный пример. Только он у меня сразу отображается. А когда валидация исчезает и ничего нет.

И есть ли возможность не средствами C# это делать а как-то в шаблоне каком-то чтобы легко менять.
А то так можно устать переписывать методами классов :(
...
Рейтинг: 0 / 0
21.11.2014, 15:59
    #38813373
stinggga
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как сделать Html.ValidationMessageFor в виде <div class='ttt'>errormessage</div> Срочно
stinggga,

Вопрос снят.
...
Рейтинг: 0 / 0
21.11.2014, 16:08
    #38813388
stinggga
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как сделать Html.ValidationMessageFor в виде <div class='ttt'>errormessage</div> Срочно
carrotikstinggga,
How to customize Html.ValidationMessageFor in ASP MVC

И всё таки вопрос есть .

А именно сдел так :
public static MvcHtmlString MyValidationMessageFor<TModel, TProperty>(this HtmlHelper<TModel> helper,
Expression<Func<TModel, TProperty>> expression)
{

return MvcHtmlString.Create("<div class='error alerticon'><div class='message'><ul>"
+ helper.ValidationMessageFor(expression).ToString() + "</ul></div></div>");


}


Но появляется при загрузке view а кода срабатывает валидация исчезает. Что я не так делаю ?
...
Рейтинг: 0 / 0
21.11.2014, 16:23
    #38813416
carrotik
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как сделать Html.ValidationMessageFor в виде <div class='ttt'>errormessage</div> Срочно
stinggga,

...честно говоря, я с MVC на шапочном знакомстве, погуглил ссылку и нашел ... но есть там еще вот это
You will need to include the namespace of this static extension method in your view, or put this into System.Web.Mvc.Html directly.

...что они имеют в виду, сделать ссылку using на метод во вьюхе, или еще как?
...
Рейтинг: 0 / 0
21.11.2014, 16:30
    #38813435
stinggga
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как сделать Html.ValidationMessageFor в виде <div class='ttt'>errormessage</div> Срочно
carrotikstinggga,

...честно говоря, я с MVC на шапочном знакомстве, погуглил ссылку и нашел ... но есть там еще вот это
You will need to include the namespace of this static extension method in your view, or put this into System.Web.Mvc.Html directly.

...что они имеют в виду, сделать ссылку using на метод во вьюхе, или еще как?

Я тоже на этом уровне :) asp.net webforms моя стихия.


[Display(Name = "Имя пользователя")]
[Required(ErrorMessage = "Вы не ввели [Имя пользователя]")]
[StringLength(50)]
//[UIHint("name_feedback_except"), AllowHtml]
public string UserName { get; set; }

...

public static MvcHtmlString MyValidationMessageFor<TModel, TProperty>(this HtmlHelper<TModel> helper,
Expression<Func<TModel, TProperty>> expression)
{

return MvcHtmlString.Create("<div class='error alerticon'><div class='message'><ul> "
+ helper.ValidationMessageFor(expression, String.Empty).ToString() + "</ul></div></div>");


}
...

При загрузке страницы всё красиво выведено

Но должно после нажатия кнопки submit.

А вывод

<div class='error alerticon'><div class='message'><ul>&nbsp

после submit исчезает.

вообщем всё хорошо только наоборот :)
...
Рейтинг: 0 / 0
21.11.2014, 16:31
    #38813439
stinggga
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как сделать Html.ValidationMessageFor в виде <div class='ttt'>errormessage</div> Срочно
->...что они имеют в виду, сделать ссылку using на метод во вьюхе, или еще как?
сделал
...
Рейтинг: 0 / 0
24.11.2014, 11:37
    #38814938
stinggga
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как сделать Html.ValidationMessageFor в виде <div class='ttt'>errormessage</div> Срочно
stinggga,

может всё таки кто-то может помочь в данном вопросе ?

1)Необходимо чтобы в валидации было не "Вы не ввели [Имя пользователя]"
а <div class='ttt1'><div class='ttt2'>Вы не ввели [Имя пользователя]</div></div>

2)Сделал

public static MvcHtmlString MyValidationMessageFor<TModel, TProperty>(this HtmlHelper<TModel> helper,
Expression<Func<TModel, TProperty>> expression)
{

return MvcHtmlString.Create("<div class='error alerticon'><div class='message'><ul> "
+ helper.ValidationMessageFor(expression, String.Empty).ToString() + "</ul></div></div>");
}

@Html.MyValidationMessageFor(model => model.UserName)


но теперь при отображении view вся эта байда без самого сообщения о ошибки показывается
<div class='error alerticon'><div class='message'><ul> а должно только при нажатии submit и если пустое поле.

Подскажите , пожалуйста, что я не так делаю. Может есть какой-то другой способ ?
...
Рейтинг: 0 / 0
24.11.2014, 12:24
    #38815017
Konst_One
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как сделать Html.ValidationMessageFor в виде <div class='ttt'>errormessage</div> Срочно
в контроллере у тебя 2 метода для страницы GET и POST?

в первом сбрасывай ошибки валидации модели
Код: c#
1.
ModelState.Clear();
...
Рейтинг: 0 / 0
24.11.2014, 12:32
    #38815028
stinggga
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как сделать Html.ValidationMessageFor в виде <div class='ttt'>errormessage</div> Срочно
Konst_Oneв контроллере у тебя 2 метода для страницы GET и POST?

в первом сбрасывай ошибки валидации модели
Код: c#
1.
ModelState.Clear();



Всё так же :( Я правильно вас понял ?!



public ActionResult ConactsRav()
{
ModelState.Clear();
mvc.Models.FeedbackModel mod = new mvc.Models.FeedbackModel();
return View(mod);
}


[HttpPost]
public ActionResult ConactsRav(mvc.Models.FeedbackModel mod)
{
ViewData["isendok"]= "0";
if (ModelState.IsValid)
{
mvc.Models.ravagencyEntities r = new mvc.Models.ravagencyEntities();

item.ipadress = HttpContext.Request.UserHostAddress;
......
item.status = 0;

r.AddTofeedbacks(item);
r.SaveChanges();

return View("Conacts");
}

return View(mod);
}
...
Рейтинг: 0 / 0
24.11.2014, 12:50
    #38815048
Konst_One
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как сделать Html.ValidationMessageFor в виде <div class='ttt'>errormessage</div> Срочно
перед return надо
...
Рейтинг: 0 / 0
24.11.2014, 12:55
    #38815053
stinggga
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как сделать Html.ValidationMessageFor в виде <div class='ttt'>errormessage</div> Срочно
Konst_Oneперед return надо

public ActionResult ConactsRav()
{
mvc.Models.FeedbackModel mod = new mvc.Models.FeedbackModel();
ModelState.Clear();
return View(mod);
}

Всё тоже :)
...
Рейтинг: 0 / 0
24.11.2014, 12:57
    #38815057
Konst_One
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как сделать Html.ValidationMessageFor в виде <div class='ttt'>errormessage</div> Срочно
а что у вас во View? покажите его код
...
Рейтинг: 0 / 0
24.11.2014, 12:59
    #38815063
stinggga
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как сделать Html.ValidationMessageFor в виде <div class='ttt'>errormessage</div> Срочно
Konst_Oneа что у вас во View? покажите его код


@using (Html.BeginForm())
{
@Html.ValidationSummary(true)
<!-- Форма обратной связи -->
<div id="feedback" runat="server" style='@(((string)ViewData["isendok"] == "1") ? "display: none" : "")' >
<div class="pushmessage" id="jdisabled">
Для того, чтобы воспользоваться формой обратной связи, включите, пожалуйста, javascript
в Вашем браузере</div>
<div id="jenable" class="turnoff">
<div class="field" id="name">
<div class="field-container">
<div class="field-name nameicon">
<label for="iname">
Ваше имя</label></div>
<div class="input-container">
@Html.EditorFor(model => model.UserName, new { @class = "checkfield", id = "iname", name = "name" })
</div>
</div>
@Html.MyValidationMessageFor(model => model.UserName)

</div>
...
Рейтинг: 0 / 0
24.11.2014, 13:00
    #38815066
stinggga
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как сделать Html.ValidationMessageFor в виде <div class='ttt'>errormessage</div> Срочно
Мне нужно текст ошибки заключить в <div class='error alerticon'><div class='message'><ul>XXXX</ul></div></div>
сдела так
public static MvcHtmlString MyValidationMessageFor<TModel, TProperty>(this HtmlHelper<TModel> helper,
Expression<Func<TModel, TProperty>> expression)
{
return MvcHtmlString.Create("<div class='error alerticon'><div class='message'><ul> "
+ helper.ValidationMessageFor(expression, String.Empty).ToString() + "</ul></div></div>");


}
...
Рейтинг: 0 / 0
24.11.2014, 13:54
    #38815114
Konst_One
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как сделать Html.ValidationMessageFor в виде <div class='ttt'>errormessage</div> Срочно
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
...
Ваше имя</label></div>
<div class="input-container">
@Html.EditorFor(model => model.UserName, new { @class = "checkfield", id = "iname", name = "name" })
</div>
@if (!ViewData.ModelState.IsValidField("UserName")
{
@Html.MyValidationMessageFor(model => model.UserName)
}
</div>
...
Рейтинг: 0 / 0
24.11.2014, 14:39
    #38815162
stinggga
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как сделать Html.ValidationMessageFor в виде <div class='ttt'>errormessage</div> Срочно
Konst_One
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
...
Ваше имя</label></div>
<div class="input-container">
@Html.EditorFor(model => model.UserName, new { @class = "checkfield", id = "iname", name = "name" })
</div>
@if (!ViewData.ModelState.IsValidField("UserName")
{
@Html.MyValidationMessageFor(model => model.UserName)
}
</div>



Супер теперь при первом открытии не показывает. Пол дела сделано. Но и при валидации как и прежде пусто не выводит ничего !
...
Рейтинг: 0 / 0
24.11.2014, 14:43
    #38815166
stinggga
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как сделать Html.ValidationMessageFor в виде <div class='ttt'>errormessage</div> Срочно
stingggaKonst_One
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
...
Ваше имя</label></div>
<div class="input-container">
@Html.EditorFor(model => model.UserName, new { @class = "checkfield", id = "iname", name = "name" })
</div>
@if (!ViewData.ModelState.IsValidField("UserName")
{
@Html.MyValidationMessageFor(model => model.UserName)
}
</div>



Супер теперь при первом открытии не показывает. Пол дела сделано. Но и при валидации как и прежде пусто не выводит ничего !
По ходу в этот иф оно воообще не заходит. Я поставил обычный он тоже если в этом ифе не отображается

@Html.MyValidationMessageFor(model => model.UserName)
@Html.ValidationMessageFor(model => model.UserName)
...
Рейтинг: 0 / 0
24.11.2014, 14:46
    #38815173
Konst_One
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как сделать Html.ValidationMessageFor в виде <div class='ttt'>errormessage</div> Срочно
Код: c#
1.
@if (!ViewData.ModelState.IsValidField("UserName"))



скобку одну потерял
...
Рейтинг: 0 / 0
24.11.2014, 14:58
    #38815192
stinggga
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как сделать Html.ValidationMessageFor в виде <div class='ttt'>errormessage</div> Срочно
Konst_One
Код: c#
1.
@if (!ViewData.ModelState.IsValidField("UserName"))



скобку одну потерял

Да я видел.
Он не заходит в if


В результате вот такая байда как на рисунке ?
...
Рейтинг: 0 / 0
24.11.2014, 15:01
    #38815197
Konst_One
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как сделать Html.ValidationMessageFor в виде <div class='ttt'>errormessage</div> Срочно
перепишите через обычный @Html.TextBox("name") и @Html.ValidationMessage("name")
...
Рейтинг: 0 / 0
24.11.2014, 15:03
    #38815199
Konst_One
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как сделать Html.ValidationMessageFor в виде <div class='ttt'>errormessage</div> Срочно
name = "name" }

вы имя переопределяете!
...
Рейтинг: 0 / 0
24.11.2014, 15:05
    #38815204
stinggga
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как сделать Html.ValidationMessageFor в виде <div class='ttt'>errormessage</div> Срочно
Konst_One name = "name" }

вы имя переопределяете!
Не совсем понял :( Просто в mvc совсем недавно. Поэтому , больно не бейте. Может подскажите примерчиком как такое сделать
...
Рейтинг: 0 / 0
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Как сделать Html.ValidationMessageFor в виде <div class='ttt'>errormessage</div> Срочно / 25 сообщений из 43, страница 1 из 2
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]