Gå til innhold

Hjelp til tallkontroll i ASP.NET


Anbefalte innlegg

Heisann

 

Er nybegynnar i gamet og har allereie møtt veggen.... :dontgetit:

 

Oppgava er å lage ein kontroll av eit tal som blir lagt inn av brukaren. Kontrollen skal sjekke om talet er positivt eller negativt og returnere true eller false alt etter som om talet er positivt eller negativt.

 

Har forsøkt med både if og case select men det vil jo berre ikkje virke!

 

Hadde vore greit å fått noken tips!

Lenke til kommentar
Videoannonse
Annonse

Takker for det! Fekk det faktisk til med den løysinga eg såg føre meg og etter litt knoting her.... :)

 

Men Adam var ikkje lenge i paradis. No skal eg nmelig lage ei asp side som skal gjere det mogleg for brukaren å legge inn ei e-post adresse og ved å trykke på en knapp skal det vere mulig å få sjekka at adressa er på rett format. Følgande krav er satt:

 

- Skal starte med eit eller fleire valgfrie teikn

- Deretter skal det komme ein alfakrøll

- Etter dette skal det vere minst eit teikn, etterfølgd av punktum

- Til slutt skal det vere fleire teikn.

 

Eg greier å lage til at det er mogleg for brukaren å taste inn adressa og å trykke på kontroll-knappen. Men det som skal ligge bak denne "kontroll-rutina" slit eg litt med..... :dontgetit:

Lenke til kommentar

1) Skal love deg at det er gjort..... :ermm:

2) VB

3)Her er så langt eg er komt på eiga hand. Har altså laga sjølve "skalet" med ein tekstboks for å skrive inn adressa samt ein knapp som skal iverksette sjølve prosedyren. Men greier ikkje sjå føre meg korleis sjølve kontrollen skal bli gjort... :hmm:

 

<% @ Page Language ="VB" %>

<script runat = "server">

 

Dim Adresse As String

 

Sub Sjekk_Knapp(obj As Object, e As eventargs)

Adresse = tbAdresse.Text

End Sub

</script>

 

<html><title>Adressekontroll</title>

<body>

<p><b><h1>Adressekontroll</b></h1><p>

<form runat = "Server">

E-post adresse:

<asp:textbox id="tbAdresse" runat="server" /><p>

<asp:button id="btSjekk" Text = "Sjekk adresse"

OnClick= "Sjekk_Knapp" runat = "server" />

</form>

<hr>

</body></html>

Lenke til kommentar

I følge "kravspec'n" din burde dette holde. Men det kan nok lønne seg å sjekke flere ting (RFC'n om epost adresser er mye mer avansert).

 

F.eks:

* At "hele" epost adressen inneholder gyldige tegn.

* At det ikke finnes 2 punktum'er etter hverandre

* At top-level domain inneholder minst 2 tegn

* etc....

 

   Function IsValid(ByVal Email As String) As Boolean
       Dim LegalChars As String = "abcdefghijklmnopqrstuvwxyz"

       '2) Deretter skal det komme ein alfakrøll
       ' Deler opp epost'n i 2 deler. Før og etter @
       Dim Parts As String() = Email.Split("@")
       If Parts.Length <> 2 Then
           ' epost adressen består av mer eller mindre enn 1 @
           Return False
       End If

       '1) Skal starte med eit eller fleire valgfrie teikn
       If LegalChars.IndexOf(Parts(0).Chars(0)) < 0 Then Return False

       '3 Etter dette skal det vere minst eit teikn, etterfølgd av punktum
       If LegalChars.IndexOf(Parts(1).Chars(0)) < 0 Then Return False

       Dim DomainParts As String() = Parts(1).Split(".")
       If DomainParts.Length < 2 Then
           ' Det finnes ikke noe punktum i delen etter @
           Return False
       End If

       '4 Til slutt skal det vere fleire teikn.
       If DomainParts(DomainParts.Length - 1).Length < 1 Then
           Return False
       End If

       Return True

   End Function

Endret av jorn79
Lenke til kommentar

Takker så hjertligst! Har brukt eksempelet ditt som skjelett og tilpassa det til dei ulike feilmeldingane. Det einaste som eg slit med no er at dersom @ kjem først så skriv den ikkje ut feilmeldinga med at det ikkje er gyldige tegn framfor @. Det må altså vere mellomrom...

 

I tillegg skulle eg gjerne ha skrive ut ei melding dersom adressa passerer sjekken. Har forsøkt med å legge ei if else løkke rundt alle dei andre if - uttrykka utan hell..... :ermm:

 

Legger ved koden eg har pr no:

 

<% @ Page Language ="VB" %>

<script runat = "server">

 

Dim Adresse As String

 

Sub Sjekk_Knapp(obj As Object, e As eventargs)

Adresse = tbAdresse.Text

Response.Write(IsValid(Adresse))

End Sub

 

Function IsValid(ByVal Email As String) As String

     Dim LegalChars As String = "abcdefghijklmnopqrstuvwxyz0123456789"     

  Dim Parts As String() = Email.Split("@")

 

 

 

  If Parts.Length <> 2 Then

Response.Write(" E-post adressa manglar @ eller har for mange @!")

      End If

     

   If LegalChars.IndexOf(Parts(0).Chars(0)) < 0 Then

    Response.Write(" Du må ha gyldige verdiar framfor @!")

   End If

   

If LegalChars.IndexOf(Parts(1).Chars(0)) < 0 Then

Response.Write("Du må ha minst ein gyldig bokstav eller eit tal rett bak @!")

End if

 

Dim DomainParts As String() = Parts(1).Split(".")

         If DomainParts.Length < 2 Then

Response.Write("Det finst ikkje noko punktum i delen etter @!")

End If

      If DomainParts(DomainParts.Length - 1).Length < 1 Then

          Response.Write(" Du manglar lovlig landsverdi!")

      End If

     

   End Function

</script>

 

<html><title>Adressekontroll</title>

<body>

<p><b><h1>Øving2, Oppgave2</b></h1><p>

<form runat = "Server">

E-post adresse:

<asp:textbox id="tbAdresse" runat="server" /><p>

<asp:button id="btSjekk" Text = "Sjekk adresse"

OnClick= "Sjekk_Knapp" runat = "server" />

</form>

<hr>

</body></html>

 

Håpar du har noken hjelpande ord Jorn79... :)

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...