ASP: Как использовать один элемент span или div для отображения ошибок валидации - PullRequest
0 голосов
/ 21 марта 2019

У меня есть поле, требующее 3 разных валидатора: RequiredFieldValidator, RegularExpressionValidator и CompareValidator.

Каждый валидатор имеет "*", чтобы показать, что что-то не так с вводом:

<asp:TextBox ID="txtAddMin" runat="server" Width="30%" MaxLength="2"></asp:TextBox>
    <asp:RequiredFieldValidator ID="RequiredFieldValidator8" runat="server"  ErrorMessage="Min Value is missing" ControlToValidate="txtAddMin" ForeColor="Red" ValidationGroup="vgBinAdd">*</asp:RequiredFieldValidator>

    <asp:RegularExpressionValidator ID="RegularExpressionValidator8" runat="server" ErrorMessage="Invalid Min Value Entered" ControlToValidate="txtAddMin" ForeColor="Red" ValidationGroup="vgBinAdd" ValidationExpression="^[0-9]{2}$">*</asp:RegularExpressionValidator>

    <asp:CompareValidator ID="CompareValidator2" runat="server" ControlToValidate="txtAddMin" ControlToCompare="txtAddMax" Operator="LessThan" Type="Integer" ErrorMessage="Min Value shoule be less then MaxValue" ForeColor="Red" ValidationGroup="vgBinAdd">*</asp:CompareValidator>

Проверки работают должным образом, однако при неудаче «» отображается в разных позициях. Таким образом, когда CompareValidator терпит неудачу, "" отображается в нескольких местах от поля ввода.

По сути, каждый валидатор занимает некоторое пространство после поля ввода, и «*» отображается с дополнительным пробелом, прежде чем он определит, какой валидатор завершился неудачей.

Возможно ли это исправить, поэтому запуск отображается в фиксированном положении независимо от того, какой валидатор дает сбой?

...