#asp.net #validation #web-controls
#asp.net #проверка #веб-элементы управления
Вопрос:
Кто-нибудь когда-нибудь видел это и знает ли кто-нибудь, как это исправить…
Похоже, что элемент управления сводкой проверки отображает это :
error message
<br>
error message
<div style="display: none;" id="summaryID">
</div>
Поправьте меня, если я здесь ошибаюсь, но разве мои ошибки не должны быть внутри этого div … в чем причина, по которой вы можете поместить cssclass на стороне сервера управления, используя CssClass=»whatever»?
Или я что-то пропустил?
Редактировать :
Просто для проверки… это то, что я ожидаю от нее отобразить :
<div style="display: none;" id="summaryID">
error message
<br>
error message
</div>
ПРАВКА 2 :
Разметка на стороне сервера, которая создает это, является …
<asp:ValidationSummary ID="ui_ValidationSummary" runat="server" />
…
Множество элементов управления, но вот пример (не хотите все усложнять):
…
<asp:TextBox ID="ui_txtClientDOB" runat="server" />
<asp:RangeValidator ID="ui_RangeValidator_DOB" runat="server" ControlToValidate="ui_txtClientDOB" ErrorMessage="DOB is not valid" MinimumValue="1900/01/01" Type="Date" ForeColor="Red">*</asp:RangeValidator>
<asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" ControlToValidate="ui_txtClientDOB" ErrorMessage="DOB is missing" ForeColor="Red">*</asp:RequiredFieldValidator>
Если у любого средства проверки в этом текстовом поле есть причина для сбоя проверки, результат, как обсуждалось, — пустой тег div с ошибкой рядом с ним.
Ответ №1:
Вероятно, в div #summaryID отображаются ошибки проверки на стороне клиента. Используйте инструмент, подобный firebug, чтобы увидеть это, поскольку вы не можете просмотреть исходный код в разметке, заполненной javascript. В противном случае отключите проверку на стороне клиента и выполните обратную передачу.
Редактировать
Я предполагаю, что вы путаете сообщение об ошибке, которое отображается, с самим элементом управления проверкой, а не внутри сводки проверки. Если вы не предоставите текстовое свойство элементам управления проверки, оно будет использовать сообщение об ошибке. Попробуйте следующее (уберите свойство text, и вы поймете, что я имею в виду):
<asp:ValidationSummary ID="val" runat="server" CssClass="test"
DisplayMode="List" />
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
<asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server"
ControlToValidate="TextBox1" ErrorMessage="RequiredFieldValidator" Text="*"></asp:RequiredFieldValidator>
<asp:TextBox ID="TextBox2" runat="server"></asp:TextBox>
<asp:RequiredFieldValidator ID="RequiredFieldValidator2" runat="server"
ControlToValidate="TextBox2" ErrorMessage="RequiredFieldValidator" Text="*"></asp:RequiredFieldValidator>
<asp:Button ID="Button1" runat="server" Text="Button" />
Комментарии:
1. Я использую firebug… и это результирующий отображаемый код… моя проблема в том, что я пытаюсь оформить сводку, и хотя она правильно оформляет сводку, содержащую div, в соответствии с выбранным мной стилем css, она не оформляет сводные сообщения, потому что они не отображаются внутри этого div… и это происходит как на стороне клиента, так и на стороне сервера.
2. допустим, textbox1 заполнен, а textbox2 — нет… тогда сводка проверки отобразит 1 «*» в соответствии с вашим образцом… Я хочу убедиться, что это * отображается внутри div, который должен содержать результаты итоговой проверки. То, что у вас есть, похоже на то, что у меня есть на сервере, принимаю, что у меня есть сообщения в моем свойстве Text для каждого элемента управления валидатора обязательных полей. сообщения, которые отображаются за пределами ожидаемого тега div на стороне клиента.
3. таким образом, ваш образец будет отображать что-то вроде… * <div style=»display: none;» id=»val»> </div>
4. Я думаю, вы неправильно понимаете сводку проверки. Поместите средства проверки требуемых полей в другое место на странице — например, в таблицу, и вы увидите, что средства проверки и сводка совершенно различны. Сводка просто принимает сообщения об ошибках и отображает их. У валидаторов есть свои собственные визуализации.
5. у меня есть таблица… с элементами управления, и с этими элементами управления связаны средства проверки… я понимаю, как работает проверка… когда выполняется проверка, они могут выдать сообщение об ошибке. Насколько я понимаю, элемент управления сводкой проверки отобразил содержимое этих сообщений в своем собственном выводе. поскольку это, похоже, то, что создается… проблема в том, что выходные данные не в ожидаемом формате.