ASP.NET Controls de validació

Aquesta setmana passada estava donant una classe sobre els controls de validació que té ASP.NET em vaig trobar en una situació una mica peculiar. Aquesta vegada el grup que tenia a la classe van voler profunditzar més del que és habitual amb l’efectivitat i l’experiència d’usuari que tenen aquests controls.

Els controls que parlo son els RequieredValidator, RangeValidator, CustomValidator, RegularExpressionValidator i CompareValidator. Aquests controls permeten fer comprovacions a client i a servidor sense implementar pràcticament res. Només en el cas del CustomValidator hem de crear la funció javascript o el mètode en el code behind per comprovar la validesa del camp. Per tant, aquests controls ofereixen una validació dels camps en poc temps de desenvolupament, però només poden validar a nivell de camp o de formulari, mai a nivell de caràcter, és a dir, cada vegada que premem una tecla no podem llençar cap tipus de validació.

El problema està en quant es llença aquesta validació. No és llògic que s’ha de llençar la validació quan els camps perden el focus? sembla evident que si. Els controls de validació ASP.NET no estan preparats per validar els camps en quant es perd el focus, aquesta és una afirmació que es troba per internet, també s’afegeix que: sempre es fa validació camp a camp quan ja s’ha produït un submit. La veritat és que hi ha controls de validació que actuen sense fer un submit i n’hi ha que ho fan un cop s’ha escrit alguna cosa al camp. Però si que és veritat que hi ha alguna cosa que no es fa massa bé ja que no totes les validacions actuen igual.

No és lògic que es pugui marcar un camp en vermell en el moment que aquest presenta un error? sembla evident que si. Doncs aquests controls no estan preparats per poder marcar visualment el camp que ha produït l’error. Microsoft diu que és una mala pràctica perquè s’ha de tenir en compte els navegadors que no tenen gràfics o els que tenen problemes amb els colors. Però moltes vegades creem les nostres aplicacions per un grup concret de persones i podem controlar perfectament aquests aspectes.

Sincerament no havia tingut mai que profunditzar tant amb aquest tema i penso després de tot això de que els controls de validació d’ASP.NET estan molt bé però té mancances importants. Crec recordar ara que l’ASP.NET Ajax toolkit té un control de validació, possiblement aquest soluciona part d’aquests problemes.

Advertisements

Deixa un comentari

Fill in your details below or click an icon to log in:

WordPress.com Logo

Esteu comentant fent servir el compte WordPress.com. Log Out / Canvia )

Twitter picture

Esteu comentant fent servir el compte Twitter. Log Out / Canvia )

Facebook photo

Esteu comentant fent servir el compte Facebook. Log Out / Canvia )

Google+ photo

Esteu comentant fent servir el compte Google+. Log Out / Canvia )

Connecting to %s