2016-05-24 7 views
-1

は、私はプログラミングに100%の新たなんだ、これは私が欲しいものです:現在のコードにデータ検証を追加するにはどうすればよいですか?

  • (名前)いいえ番号
  • 16桁と無文字
  • (有効期限)数字に
  • (カード番号)リミットこのように - "02/17"とアルファベットはありません
  • (セキュリティコード)3つの数字と文字は使用できません。

マイコード:あなたの問題のために

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

はあなたがMVC、ASP.NETフォームまたはWindowsフォームのように、作成しているアプリケーションの種類のより多くの情報を与えることができますあなたのために働く必要があります。 –

+0

正規表現を作成する必要があります。 http://regexr.com/ –

+0

まあ、ロジックを書く楽しみがある!あなたが立ち往生した場合は、ここで特定の質問をして、あなたが何を試して調査したかを聞いてください。 – Sayse

答えて

2

regexは良い解決策です。

そして、これは

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

私は自分のコードに入力する方法については?これは私のプログラムです:https://drive.google.com/folderview?id=0B5tyNtwtsowgZTlTbUhNaE90WWM&usp=drive_web –

+0

@ ConnorO'Keeffeああ、それを持っています。検証イベントの場合、ユーザーが入力した直後に起動します。[c-sharp-validating-input-for-textbox-on-winforms](http://stackoverflow.com/questions/8915151/c-sharp-validating- 'Dickson Xavier'の示唆したように、text-on-winformsのためのinput-for)。それぞれの検証イベントの適切な場所で、答えの中の各if文をコピーしてください。 –

+0

申し訳ありませんが、私は正直なところ、if文をどこに入力するか分かりません。 (Regex.Match(nameTextBox.Text、 "\\ d")。成功) {それは私にエラーを与えます –

関連する問題