Как изменить ValueToCompare в CompareValidator с помощью JavaScript?
В моей форме есть поле пароля, поэтому я не могу использовать обратную передачу. Мне нужно проверить все на стороне клиента.
Но ValueToCompare может измениться при вводе пользователем.
Как изменить ValueToCompare в CompareValidator с помощью JavaScript?
Благодарю.
Может быть, мне нужно рассказать полный случай. У меня есть два ввода, сказал a & b, сумма этих двух чисел не может быть больше, чем c.
Например, c равно 90, а вводится 30, тогда b не может быть больше 60. Если b затем вводится в 40, то a не может быть больше 50.
Сейчас я делаю это на стороне сервера, как я могу сделать это на стороне клиента, используя проверки asp.net?
4 ответа
Это работает для меня:
<asp:CompareValidator ID="valOptionsCmp" runat="server"
ErrorMessage="!!!"
ControlToValidate="tbPrixOptions" Display="Dynamic"
ValueToCompare="1"
Operator="GreaterThanEqual"
Type="Integer"/>
//in javascript
<%=valOptionsCmp.ClientID%>.valuetocompare = yourvalue
Если вы имеете в виду что-то вроде ввода пароля и повторного ввода пароля, то вам не нужно использовать ValueToCompare. Вместо этого вы используете ControlToCompare и ControlToValidate, как это:
<asp:TextBox id="password" runat="server" TextMode="password"/>
<asp:RequiredFieldValidator id="rfvPass" runat="server"
ControlToValidate="password" Text="*"/>
<asp:textbox id=="rePassword" runat="server" TextMode="Password"/>
<asp:CompareValidator id="cmpPass" runat="server" ControlToCompare="password"
ControlToValidate="rePassword" Type="String" Operator="Equal"/>
Я решил те же проблемы с помощью firebug:
<script type="text/javascript">
$(document).ready(function() {
$("select[id$=ddlYears]").change(function() {
var year= $(this).val();
<%= cvDataMinApertura.ClientID%>.valuetocompare = "01/01/"+year;
});
});
</script>
Я использую JQuery для валидатора сравнения изменений cvDataMinApertura в выпадающем списке изменения года.
От:
http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.comparevalidator.aspx
Сравнивает значение, введенное пользователем в элемент управления вводом, со значением, введенным в другой элемент управления вводом, или с постоянным значением.
Это ваш выбор. Сравните два элемента управления или сравните один с константой.
Если ни один из них не подходит, вам, возможно, придется свернуть свой собственный.