[.NET] Validation met meerdere pagina onderdelen

Pagina: 1
Acties:

  • Zyphrax
  • Registratie: September 2001
  • Laatst online: 04-04-2023
De pagina die ik gemaakt heb bestaat uit twee onderdelen:

1. Onderdeel waarin je de eigenschappen van een pagina kan opgeven/wijzigen (denk aan page title, page description) en daarbij een Save en Cancel knop. Beide invoervelden zijn verplicht.

2. Onderdeel waarin je metatags kan hangen aan de pagina. Je wordt verplicht om een type te kiezen (dropdown, 'name'/'http-equiv') een directive (denk aan 'keywords') en een content ('computer, tweaken'). Type staat standaard op 'name' en de andere twee invoervelden zijn verplicht.

Omdat zo'n beetje alle velden verplicht zijn heb ik dus aan iedere textbox (zowel in het pagina onderdeel als in het metatag onderdeel) een requiredfieldvalidator hangen.

Het probleem is nu, hoe kan ik het zo sturen, dat als je op de Save knop van pagina klikt dat alleen de onderdelen in het PageDetails component gevalidate worden en dat als ik op de Save knop van metatags klik dat alleen de onderdelen in het MetaTags component gevalidate worden.

Helaas is altijd maar 1 form mogelijk. Extra moeilijkheid: de validation moet al aan client-side gebeuren, want de validatie melding moet verschijnen in de vorm van een alert (ShowMessageBox = true).

Iemand enig idee?

Any sufficiently advanced technology is equivalent to magic.


  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 19:40

gorgi_19

Kruimeltjes zijn weer op :9

Vanaf .Net 2.0 zijn er validation groups. Vooralsnog zal je dan ook eigen validators moeten maken.

Digitaal onderwijsmateriaal, leermateriaal voor hbo


  • Zyphrax
  • Registratie: September 2001
  • Laatst online: 04-04-2023
Ai daar was ik al bang voor.
Dan maar een javascriptje aan de MetaTags submit knop plakken en causesvalidation = false op dat ding zetten.

Daarnaast maar ff de validation javascript code van Microsoft opentrekken om te kijken of dat deels mooi her te gebruiken is.

[ Voor 5% gewijzigd door Zyphrax op 11-11-2004 11:53 ]

Any sufficiently advanced technology is equivalent to magic.


  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 19:40

gorgi_19

Kruimeltjes zijn weer op :9

Zyphrax schreef op 11 november 2004 @ 11:53:
Ai daar was ik al bang voor.
Dan maar een javascriptje aan de MetaTags submit knop plakken en causesvalidation = false op dat ding zetten.

Daarnaast maar ff de validation javascript code van Microsoft opentrekken om te kijken of dat deels mooi her te gebruiken is.
Afaik is dat IE-only :) Je kan dan beter naar de werking kijken van validation groups in ASP.Net 2.0 en dat evt. in 1.1 implementeren.

[ Voor 13% gewijzigd door gorgi_19 op 11-11-2004 11:57 ]

Digitaal onderwijsmateriaal, leermateriaal voor hbo


  • Zyphrax
  • Registratie: September 2001
  • Laatst online: 04-04-2023
Als ik daarvoor tijd had zou ik het zeker doen.
Ik dacht ff snel validation erin te gooien :/, erg jammer dat ze niet meteen op het idee van validationgroups gekomen waren (of tijdnood?)

Ik zit er aan te denken om de validationcontrol/validationsummary arrays (die door .NET erin gehakked worden) even te switchen voordat de validation in werking treed op het moment dat je op een button klikt.

Is er geen OnClientClick ofzo voor een ASP:Button?

Any sufficiently advanced technology is equivalent to magic.


  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 19:40

gorgi_19

Kruimeltjes zijn weer op :9

Zyphrax schreef op 11 november 2004 @ 12:08:
Is er geen OnClientClick ofzo voor een ASP:Button?
Een button heeft een attributes property :)

Digitaal onderwijsmateriaal, leermateriaal voor hbo


Verwijderd

custom validator maken met een server side check voor de niet clientside validerende browsers en een javascriptje maken en die via ClientValidationFunction property van de custom validator aan laten roepen.

kan je ook nog zelf een alert maken en dan moet 't wel lukken

  • Zyphrax
  • Registratie: September 2001
  • Laatst online: 04-04-2023
Ja maar attributes is weer niet zo mooi want dan hak in de naam van het javascriptje in de codebehind :S

Iig bedankt voor de hulp
Ik zie uit naar release .NET 2.0 :)

[ Voor 3% gewijzigd door Zyphrax op 11-11-2004 13:41 ]

Any sufficiently advanced technology is equivalent to magic.


Verwijderd

Waarom niet de botte bijl methode en een frameset met twee aparte pagina's?

  • Zyphrax
  • Registratie: September 2001
  • Laatst online: 04-04-2023
Te nasty :)
Ik heb nu geen frames in de web applicatie en wil ze daarvoor ook niet toevoegen, dan laat ik liever de validatie van de metatags voor wat t is

Any sufficiently advanced technology is equivalent to magic.


Verwijderd

Zyphrax schreef op 11 november 2004 @ 13:41:
Ja maar attributes is weer niet zo mooi want dan hak in de naam van het javascriptje in de codebehind :S

Iig bedankt voor de hulp
Ik zie uit naar release .NET 2.0 :)
je zult zelfs je javascriptje in je codebehind moeten maken.
en dan zelf de postback initialiseren vanuit je javascriptje

(zie nu ook even meer het probleem door nog een keer te lezen)

  • zoepercavia
  • Registratie: September 2001
  • Laatst online: 26-12-2025
Veelgestelde vraag :)

http://gathering.tweakers.net/forum/list_messages/816416// en ook zo vaak beantwoord ;)

en voor de directe link: http://www.devhood.com/tu...ails.aspx?tutorial_id=505.

Heeft bij mij na ietwat aanpassing met succes gewerkt.

Panacea.NL als je geinteresserd bent in IT en Geneeskunde!


Verwijderd

zoepercavia schreef op 11 november 2004 @ 14:39:
Veelgestelde vraag :)

http://gathering.tweakers.net/forum/list_messages/816416// en ook zo vaak beantwoord ;)

en voor de directe link: http://www.devhood.com/tu...ails.aspx?tutorial_id=505.

Heeft bij mij na ietwat aanpassing met succes gewerkt.
heb even de code geanalyseerd.
a) geen clientside validation, dus postback als e.e.a. fout is. Dit betekend dat als jij een <input type=file/passwordt hebt dat die leeg is als er ergens anders iets fout is.
b) je moet overal die validators uitzetten. Je kan niet een bv. required field validator op je page hebben staan, die gewoon aan staat. Deze zal ook gewoon afgaan op het moment dat er op die "slimme validatie knop" gedrukt wordt.
Pagina: 1