У меня есть поле, требующее 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
терпит неудачу, "" отображается в нескольких местах от поля ввода.
По сути, каждый валидатор занимает некоторое пространство после поля ввода, и «*» отображается с дополнительным пробелом, прежде чем он определит, какой валидатор завершился неудачей.
Возможно ли это исправить, поэтому запуск отображается в фиксированном положении независимо от того, какой валидатор дает сбой?