SharePointCommunity
Die deutschsprachige Community für SharePoint, Microsoft 365, Teams, Yammer und mit Azure

Sponsored by

Willkommen im Forum Archiv.
Einträge sind hier nicht mehr möglich, aber der Bestand von 12 Jahren SharePoint-Wissen ist hier recherchierbar.




Kontaktformular / Felder validieren

Geprüfte Antwort Dieser Beitrag hat 16 Antworten

Ohne Rang
45 Beiträge
fnatic hohn erstellt 16 Aug. 2010 10:30
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Habe nach dieser Anleitung nun ein Kontaktformular erstellt: Creating a Contact Form Web Part for SharePoint

Funktioniert soweit auch alles ganz gut, bloß ich möchte nun auch eine Validierung hinzufügen. WIe ist dies möglich?

Alle Antworten

Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 16 Aug. 2010 13:30
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Auf der Seite wird der Sourcecode doch detailliert beschrieben. Man muß nur in CreateChildControls ein paar Validator-Controls einfügen.

Viele Grüße
Andi
af @ evocom de
Blog
Ohne Rang
45 Beiträge
fnatic hohn Als Antwort am 16 Aug. 2010 13:44
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Und wie würde sowas aussehen? Ich hab echt keine Ahung davon.

Ohne Rang
45 Beiträge
fnatic hohn Als Antwort am 17 Aug. 2010 14:23
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

[quote]

 

RequiredFieldValidator FieldNameValidieren = new RequiredFieldValidator();
FieldNameValidieren.ID = "_FieldNameValidieren";
FieldNameValidieren.ControlToValidate = _ContactName.ID;
FieldNameValidieren.Text = "Der eingegebene Name ist ungültig!";
FieldNameValidieren.ErrorMessage = "Feld Name ist leer";
FieldNameValidieren.Display = ValidatorDisplay.Static;
Controls.Add(FieldNameValidieren);

 

[/quote]

Habe das jetzt im Netz gefunden, aber irgendwie bekomm ich in der 3. Zeile bei _contactName.ID immer eine Fehlermeldung. Warum?

Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 17 Aug. 2010 14:40
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Dort gibst Du das zu überwachende Control an. Hier wäre das txtContactName (statt _ContactName)

Viele Grüße
Andi
af @ evocom de
Blog
Ohne Rang
45 Beiträge
fnatic hohn Als Antwort am 17 Aug. 2010 15:13
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Das klappt schon mal super!

Hab das ganze jetzt auch für die Mail Adresse übertragen, aber irgendwie prüft er doch nur das Feld ContactName. Kann ich auch irgendwie ne Schleife bauen, dass er nacheinander die einzelnen Felder überprüft?

Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 17 Aug. 2010 15:17
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Du brauchst für jedes zu prüfende Feld einen eigenen Validator.

Viele Grüße
Andi
af @ evocom de
Blog
Ohne Rang
45 Beiträge
fnatic hohn Als Antwort am 17 Aug. 2010 15:21
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Dachte ja auch, dass ich das richtig gemacht hätte.

[quote]

RequiredFieldValidator FieldEmailValidieren = new RequiredFieldValidator();
FieldEmailValidieren.ID = "_FieldEmailValidieren";
FieldEmailValidieren.ControlToValidate = txtEmail.ID;
FieldEmailValidieren.Text = "The Email you have entered is not valid!";
FieldEmailValidieren.ErrorMessage = "Field 'Email' is empty";
FieldEmailValidieren.Display = ValidatorDisplay.Static;
Controls.Add(FieldNameValidieren);

[/quote]

Was hab ich dieses mal falsch gemacht?

Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 17 Aug. 2010 15:39
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Ich kann keinen Fehler finden.

Doch gefunden. In der letzten Zeile mußt Du auch den FieldEmailValidieren hinzufügen.

Viele Grüße
Andi
af @ evocom de
Blog
Ohne Rang
45 Beiträge
fnatic hohn Als Antwort am 17 Aug. 2010 15:46
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Jetzt sollte ich klar kommen! Danke für deine Hilfe!

Ohne Rang
45 Beiträge
fnatic hohn Als Antwort am 18 Aug. 2010 12:23
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Wäre es jetzt noch schwer, dass so zu validieren, dass z. B. in dem Feld E-Mail nen @ vorkommen muss und bei der Telefonnummer nur Zahlen und nen + vorkommen dürfen?

Ohne Rang
1714 Beiträge
C.Kaiser Als Antwort am 18 Aug. 2010 12:32
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Hallo,

einfach überprüfen ob ein @ im Text vorkommt, sollte man mit "String.Contains". Validieren ob eine Email-Adresse gültig ist versuche ich meist mit regulären Ausdrücken, obwohl die recht komplex werden können...

Beste Grüße,
Christian

http://www.sharepoint-rhein-ruhr.de

Ohne Rang
45 Beiträge
fnatic hohn Als Antwort am 18 Aug. 2010 12:46
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

[quote]

RequiredFieldValidator FieldEmailValidieren = new RequiredFieldValidator();
FieldEmailValidieren.ID = "_FieldEmailValidieren";
FieldEmailValidieren.ControlToValidate = txtEmailAddress.ID;
FieldEmailValidieren.Text = "<br>The E-Mail you have entered is not valid!";
FieldEmailValidieren.ErrorMessage = "Field 'Email' is empty";
FieldEmailValidieren.Display = ValidatorDisplay.Static;
Controls.Add(FieldEmailValidieren);

[/quote]

Und wo genau müsste ich das und wie einbauen?

Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 18 Aug. 2010 14:25
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Google mal nach RegularExpressionValidator und einem regulären Ausdruck für Mailadressen (habe gerade keinen zur Hand).

Viele Grüße
Andi
af @ evocom de
Blog
Ohne Rang
45 Beiträge
fnatic hohn Als Antwort am 20 Aug. 2010 12:58
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

[quote]

RequiredFieldValidator FieldEmailValidieren = new RequiredFieldValidator();
FieldEmailValidieren.ID = "_FieldEmailValidieren";
FieldEmailValidieren.ControlToValidate = txtEmailAddress.ID;
FieldEmailValidieren.ValidationExpression = "\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)"
FieldEmailValidieren.Text = "<br>The E-Mail you have entered is not valid!";
FieldEmailValidieren.ErrorMessage = "Field 'Email' is empty";
FieldEmailValidieren.Display = ValidatorDisplay.Static;
Controls.Add(FieldEmailValidieren);

[/quote]

Müsste das denn nicht eigentlich richtig sein? Bekomme nun 7 Mal diese Fehlermeldung: Unrecognized escape sequence

Was ist nun schon wieder verkehrt?

Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 20 Aug. 2010 13:31
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Du hast einen RequiredFieldValidator. Was Du suchst ist der RegularExpressionValidator.

Lasse den Required... aber trotzdem auch drin, damit auch der Fehler "leeres Feld" weiterhin abgefangen wird.

Viele Grüße
Andi
af @ evocom de
Blog
Ohne Rang
45 Beiträge
fnatic hohn Als Antwort am 24 Aug. 2010 10:01
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Habe da jetzt allerhand im Internet gefunden wie z. B. dieses hier: http://www.java2s.com/Code/ASP/Validation-by-Function/aspRegularExpressionValidatorforemailaddressC.htm

Hier nochmal der Code:

[quote]

<%@ Page Language="C#" %>

<html xmlns="http://www.w3.org/1999/xhtml" >
<head id="Head1" runat="server">
    <title>Show RegularExpressionValidator</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
    
    <asp:Label  
        id="lblEmail"
        Text="Email Address:"
        AssociatedControlID="txtEmail"
        Runat="server" />
    <asp:TextBox
        id="txtEmail"
        Runat="server" />
    <asp:RegularExpressionValidator
        id="regEmail"
        ControlToValidate="txtEmail"
        Text="(Invalid email)"
        ValidationExpression="\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*"
        Runat="server" />    
    
    <br /><br />
    
    <asp:Button
        id="btnSubmit"
        Text="Submit"
        Runat="server" />
    
    </div>
    </form>
</body>
</html>

[/quote]

Aber wie baue ich das jetzt im Visual Studio ein?