Я использую устаревшую проверку ASP.NET (тьфу) для процесса оформления заказа. У меня есть флажок - «Я позвоню с данными моей кредитной карты» -. Если этот флажок установлен, мне нужно отключить обязательные поля проверки и cc-валидатора для номера кредитной карты как на клиенте, так и на обратной передаче.
Как это сделать?
Вы можете отключить валидаторы на стороне клиента (в javascript):
function disable(validatorId) { var validator = document.getElementById(validatorId); ValidatorEnable(validator, false); }
Где validatorId - это clientID валидатора, который нужно отключить. См. эту страницу для полного примера.
Вы можете отключить валидаторы на стороне сервера :
MyFieldValidator.Enabled = MyCheckBox.Checked Page.Validate() If Page.IsValid Then 'stuff end if
Если вы отключаете серверную часть, тогда вы можете сделать
button1.CausesValidation = False
в вашем CheckChangedEvent, это более полезно, если у вас много валидаторов и вам нужно отключить их все.