# Nog een in de 'dingen die ik niet kende maar echt had moeten doen' - je kunt Client Side validatie uitschakelen met client-side script...

<datetime class="hidden">2004-03-16T00:00</datetime>

<!-- category -- mostlylucidcouk, Imported, ASP.NET, JavaScript, Web Development -->
Oké umm, eigenlijk nogal beschaamd over deze...ik ontdekte net dat dit mogelijk was... dus ik kan een beetje Javascript uit te zenden waardoor ik de validatie op een controle kan uitschakelen wanneer een bepaalde voorwaarde is voldaan hier is dit stukje van MSDN:

### Client-side API's

Sommige extra scenario's zijn ingeschakeld door functies die kunnen worden aangeroepen vanuit uw client-side script.

**Tabel 4. Functies die vanuit client-side script worden aangeroepen**

De naam van het bedrijf is de beschrijving van het bedrijf.
| --- | --- |
| **ValidatorValidate(val)** Neemt een client-validator als invoer. Maakt de validator controleren van de invoer en update van het display.
| **ValidatorInschakelen(val, inschakelen)** Neemt een client-validator en een Booleaanse waarde. Inschakelt of schakelt een client validator. Uitgeschakeld zijn zal voorkomen dat het te evalueren en het zal altijd geldig lijken.
| **ValidatorHookupControl(controle, val)** Neemt een invoer HTML-element en een client-validator. Wijzigt of creëert de verandering van het element evenement, zodat het de validator bij verandering update. Dit kan nuttig zijn voor aangepaste validators die afhankelijk zijn van meerdere invoerwaarden.

Van bijzonder gebruik is in staat om validators in te schakelen of uit te schakelen. Als u validatie hebt dat u alleen actief wilt zijn in bepaalde scenario's, moet u mogelijk de activering op zowel de server als de client wijzigen, of u zult merken dat de gebruiker de pagina niet kan verzenden.

Hier is het vorige voorbeeld met een veld dat alleen gevalideerd mag worden als een selectievakje niet aangevinkt is:

```
    public class Conditional : Page {
        public HtmlInputCheckBox chkSameAs;
        public RequiredFieldValidator rfvalShipAddress;
        public override void Validate() {
            bool enableShip = !chkSameAs.Checked;
            rfvalShipAddress.Enabled = enableShip;
            base.Validate();
        }
    }
```

Hier is het client-side equivalent:

```
<input type=checkbox runat=server id=chkSameAs 
   onclick="OnChangeSameAs();" >Same as Billing<br>
<script language=javascript>
function OnChangeSameAs() {
    var enableShip = !event.srcElement.status;
    ValidatorEnable(rfvalShipAddress, enableShip);
}
</script>
```