2016-05-24 8 views
-1

I Programmierung 100% neu bin, das ist, was ich will:Wie füge ich Datenvalidierung meinem aktuellen Code hinzu?

  • (Name) keine Zahlen
  • (Kartennummer) Begrenzt auf 16 Ziffern und keine Buchstaben
  • (MHD) Zahlen so - "02/17" und keine Buchstaben
  • (Sicherheitscode) Beschränken Sie sich auf 3 Zahlen und keine Buchstaben.

Mein Code:

string message = 
    "Name: " + nameTextBox.Text + 
    "\nCard Number: " + cardNumberTextBox.Text + 
    "\nExpiry Date: " + expiryDateTextBox.Text + 
    "\nSecurity Code: " + securityCodeTextBox.Text + 
    "\nOrder: Pizza " + pizzaType + ", " + pizzaSize; 

if (TotalToppingQuantities() > 0) 
{ 
    for (int toppingIndex = 0; toppingIndex < toppingQuantities.Length; toppingIndex++) 
    { 
     if (toppingQuantities[toppingIndex] > 0) 
     { 
      message += ", " + toppingQuantities[toppingIndex] + " x " + 
         toppingNames[toppingIndex]; 
     } 
    } 
} 

message += 
    "\nPickup Spot: " + pickupSpot + 
    "\nDelivery Time: 30 minutes"; 

MessageBox.Show(message); 
+1

Können Sie mehr Informationen geben, welche Art von Anwendung, die Sie erstellen, wie MVC, ASP.NET Forms oder Windows Forms. –

+0

Sie müssen einen regulären Ausdruck erstellen. http://regexr.com/ –

+0

Viel Spaß beim Schreiben der Logik! Wenn Sie nicht weiterkommen, stellen Sie hier eine spezifische Frage mit dem, was Sie ausprobiert und erforscht haben. – Sayse

Antwort

2

Für Ihr Problem ist regex gute Lösung.

Und das sollte für Sie arbeiten

using System.Text.RegularExpressions; 
//==================================== 


if (Regex.Match(nameTextBox.Text, "\\d").Success) 
{ 
    MessageBox.Show("(Name) must contain No numbers"); 
    return ; 
} 
if (!Regex.Match(cardNumberTextBox.Text, "^\\d{16}$").Success) 
{ 
    MessageBox.Show("(Card Number) must be Limited to 16 digits and no letters"); 
    return ; 
} 
if (!Regex.Match(expiryDateTextBox.Text, "^\\d{2}/\\d{2}$").Success) 
{ 
    MessageBox.Show("(Expiry Date) must be Numbers like this - 02/17 and no letters"); 
    return ; 
} 
if (!Regex.Match(securityCodeTextBox.Text, "^\\d{3}$").Success) 
{ 
    MessageBox.Show("(Security Code) must be Limited to 3 numbers and no letters."); 
    return ; 
} 
+0

Wie würde ich das in meinen Code eingeben? Das ist mein Programm: https://drive.google.com/folderview?id=0B5tyNtwtsowgZTlTbUhNaE90WWM&usp=drive_web –

+0

@ ConnorO'Keeffe ah, hab es. Für Validierungsereignisse - feuern Sie direkt nach der Eingabe durch den Benutzer ab. Gehen Sie zu [c-sharp-validating-input-for-textbox-on-winforms] (http://stackoverflow.com/questions/8915151/c-sharp-validating- Eingabe-für-Textbox-auf-Winforms) wie von "Dickson Xavier" vorgeschlagen. Kopieren Sie einfach jede if-Anweisung des Codes in meine Antwort an der richtigen Stelle für jedes Validierungsereignis. –

+0

Sorry, ich weiß ehrlich nicht, wo ich die if-Anweisungen eingeben soll. Immer wenn ich es kopiere (Regex.Match (nameTextBox.Text, "\\ d"). Erfolg) {es gibt mir nur Fehler –

Verwandte Themen