То, как я могу сделать текстовое поле, потребовало, если флажок проверяется?
Я полагаю, что мог записать нестандартный элемент верификации, но я надеялся избежать полного сообщения назад для проверки проверки, если это возможно... Я думал, что Ajax встроили что-то для этого сценария, но я не мог найти его. Я думаю, что прямой JavaScript также был бы решением, но я мог использовать преимущество, если это - лучший подход.
JavaScript для обработки этого не очень сложно.
Учитывая следующие элементы управления ASP:
<asp:TextBox ID="txtSubject" runat="server" />
<asp:CheckBox ID="chkSubjectRequired" runat="server" OnClick="updateValidator();" />
<asp:RequiredFieldValidator ID="rfvSubject" ControlToValidate="txtSubject" ErrorMessage="You must enter a subject." runat="server" />
Добавьте следующую функцию JavaScript:
<script language="javascript" type="text/javascript">
function updateValidator() {
var enableValidator = !event.srcElement.status;
var rfvSubject = document.getElementById('rfvSubject');
ValidatorEnable(rfvSubject, enableValidator);
}
</script>
Это все, что есть для этого. Вы также захотите добавить следующий код на сервис нагрузки на страницу, так что если пользователь имеет отключенный JavaScript, ваш требуемый валидатор поля по-прежнему включен или выключен правильно:
rfvSubject.Enabled = chkSubjectRequired.Checked
Существует уже контроль валидатора настроек, который может выстрелить метод JavaScript на стороне клиента для оценки значения или метод Server-Side для сравнения значений.
Это имеет пример: http://msdn.microsoft.com/en-us/library/a0z2h4sw%28vs.80%29.aspx Клиентское свойство объяснено здесь: http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.customvalidator.clientValidationFunction.aspx Серверное событие здесь: http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.customvalidator.servervalidate.aspx
Вы можете поставить код в Cross-ссылке флажок ценить.
Х-е.
Вы могли бы Сделайте пользовательский валидатор, а затем оберните те два элемента управления в UpdatePanel. Это превратило бы его в зов Ajax для вас. Вроде отходы, но это спасает вас, чтобы написать JavaScript.
Также, если вы ненавидите писать JS столько, сколько я делаю, вы должны попробовать jQuery вместо этого.
Вам нужно будет проверить наличие в любую проверку. В настоящее время используя как клиент, так и для серверов.