Archief - Vraag client side vs server side

Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.

Europa

Legacy Member
Hoi!

Ik oefen een beetje met een custom validator (visual studio 2010 - C#) en er is iets dat ik niet begrijp.

Wanneer ik iets programmeer in de event servervalidate loop dat altijd zonder probleem maar wanneer ik daar andere validators bij wil gebruiken dan werkt mijn customvalidator niet meer.

Ik weet dat het heeft te maken dat de event servervalidate server side is en dat de andere validators client side zijn maar waarom kunnen beide niet naast elkaar werken?

Bvb ik heb een required field validator op een textbox, en een customvalidator op een andre textbox, beide apart werken maar als ik die tesamen laat uitvoeren werkt alleen de client sides validators hier in dat geval de required field validator.

Ik ben ook een beginner dus heb ik nog niet veel inzicht in client side en server side.

Alvast bedankt!

Albireo

Legacy Member
Op het moment dat je op de submit-knop van een formulier drukt, doen alle client side validators hun werk. Als een van hen iets te melden heeft, wordt het formulier niet doorgestuurd naar de server maar worden alle foutmeldingen getoond. Als geen van de client side validators iets te melden heeft, wordt het formulier doorgestuurd naar de server. Op de server gaan alle server side validators aan het werk. De required field validator werkt, net zoals de andere ingebouwde validators zowel client als server side. Maar omdat javascript meestal enabled is, hebben die ingebouwde validators niets te melden server side.
Als jouw custom validator enkel server side is, is het derhalve normaal dat je meldingen van de required field validator nooit samen zal zien met meldingen van jouw custom validator (tenzij je javascript disabled in de browser of geen client side code laat genereren voor de required field validator (via EnableClientScript)).

Maar je zou ook client side code voor je custom validator kunnen schrijven.
bv. voor tekst die met "T" moet beginnen:
server side:
Code:
    protected void CustomValidator1_ServerValidate(object source, ServerValidateEventArgs args) {
        args.IsValid = args.Value.StartsWith("T");
    }
en overeenkomstig client side (de ClientValidationFunction-property van CustomValidator1 is ingesteld op "ValidateLastName" en EnableClientScript moet true zijn):
Code:
    <script type="text/javascript">
    //<![CDATA[
        function ValidateLastName(sender, args) {
            args.IsValid = args.Value.charAt(0) == "T";
        }
    //]]>
    </script>
Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.
Terug
Bovenaan