CustomValidator в asp.net

Я создал один пользовательский валидатор для проверки минимальной и максимальной зарплаты. То, что я сделал, означает, что я получаю значение minsalary в одном текстовом поле и maxsalary в одном textbax. если maxsalary меньше minsalary, это означает, что будет отображаться сообщение об ошибке.

Некоторые из Testcase min-40 max-65 -Noerror min-40 max-400-Error

На самом деле то, что он делает, означает, что он сравнивает первую цифру минимальной зарплаты с первой цифрой максимальной зарплаты и второй цифрой, а также проверяет. Если она меньше, чем означает, что она автоматически отображает сообщение об ошибке. Может ли кто-нибудь помочь мне, как решить эту проблему


person Stefan Edwards    schedule 18.10.2012    source источник


Ответы (2)


Не проще ли использовать CompareValidator вместо customvalidator? Вот так:

<asp:CompareValidator ID="CompareValidator1" runat="server" ControlToValidate="txtMaxSal" Operator="LessThan" ControlToCompare="txtMinSal" Type="Integer" Text="*" ErrorMessage="Error Text here"></asp:CompareValidator>
person Robin V.    schedule 18.10.2012
comment
Что я хочу дать в текстовом месте - person Stefan Edwards; 18.10.2012
comment
Вы можете оставить ' Text=* ' вне его, если хотите, тогда сообщение об ошибке появится после элемента, который вы его разместили. Если у вас есть другие поля в форме, которые вы проверяете, вы можете суммировать все ошибки в атрибуте ValidationSummary. - person Robin V.; 18.10.2012
comment
‹asp:CompareValidator ID=CompareValidator1 runat=server ControlToValidate=txtSalaryMax Operator=LessThan ControlToCompare=txtSalaryMin Type=Integer Text=максимальная зарплата меньше minsalary ErrorMessage=Текст ошибки здесь› ‹/asp:CompareValidator› - person Stefan Edwards; 18.10.2012
comment
Можно ли вводить зарплату меньше 0? В противном случае вы можете добавить еще один compareValidator в текстовое поле minSalary: - person Robin V.; 18.10.2012

Измените текст на числа, а затем сравните их, используя › или ‹. Вы не можете сравнивать числа по алфавиту, что вы и пытаетесь сделать.

person mcalex    schedule 18.10.2012
comment
На самом деле я добавил ajaxtoolkit:FilteredTextBoxExtender для этого текстового поля. но я столкнулся с той же проблемой - person Stefan Edwards; 18.10.2012