Jag validera en emailadress. två sätt: Hej Roggan.Fler än en return??
Jag har en return som om den är rätt, skicka tillbaka strängen, annars skickas texten "Fel på emaladressen.
<code>
if (m.Success)
{
return strValue;
}
else
{
strValue="Fel på emailadressen";
return strValue;
}
</code>
Går det att skicka med mera värden i return?
Hur tar man i såfall emott dessa?Sv: Fler än en return??
1) skapa en struct och returnera denna.
typ
<code>
---------------------------------
struct apa
{
public int a;
public string b;
}
public void call()
{
apa ret= bla();
console.writeline(ret.a,ret.b);
}
public apa bla()
{
apa ret=new apa();
ret.a=123;
ret.b="hej;
retunrn ret;
}
---------------------------------
</code>
eller
<code>
---------------------------------
public void call()
{
int a;
string b;
bla(out a,out b);
console.writeline(a,b);
}
public void bla(out int a,out string b)
{
a=123;
b="hej";
}
</code>
//RogerSv: Fler än en return??
Jag är osäker på hur du menar.
Så här försöker jag nu.
I Form1...
<code>
private void textBox19_Validated(object sender, System.EventArgs e)
{
string sTexten = textBox19.Text;
string tmpTexten = sTexten;
sTexten=sTexten.Trim();
string svar ="";
if(sTexten.Length !=0)
{
svar = SAW_Registrering.ClassTools.KollaEmail(sTexten);
}
if( svar == "Fel på emailadressen!")
{
Info.Text=svar + " " + tmpTexten;
textBox19.Focus();
Info.Text = svar;
}
else
{
Info.Text="Kontroll av email \"" + svar + "\" klart.";
textBox19.Text = svar;
}
}
</code>
.. sedan går jag till min Class-fil...
<code>
public static string KollaEmail(string strValue)
{
strValue.Trim();
Match m = Regex.Match(strValue, "([\\w-]+\\.)*[\\w-]+\\@([\\w-]+\\.)+[a-zA-Z]{2,}");
if (m.Success)
{
return strValue;
}
else
{
strValue="Fel på emailadressen";
return strValue;
}
}
</code>
Vad som händer är, att den validera bra(tror jag).
Men om jag editera i textBoxen(lägger till en extra @) och går till nästa ruta, då skall ju valideringen börja igen, men då får jag att det är ok.
Vad tror du är fel på min kod?
[REDIGERAT]
Slarvfel av mig
<info>
svar == "Fel på emailadressen!")
skall vara
svar == "Fel på emailadressen")
</info>