2017-11-16 14 views
-5

に保存しても、誰でもこの問題を解決できます。私はC#WPF(ウィンドウプレゼンテーションの基礎)で3つのテキストボックスを持っています。電子メールテキストボックスにボタンを押しても有効な電子メールがないのに、電子メールテキストボックスを含む他のテキストボックスのすべてのデータがデータベースファイルに保存されているときに、エラーメッセージが表示されます。エラーメッセージが表示されたら、データの保存をやめるために何をするべきですか?どうもありがとう。エラーメッセージ "電子メールが有効ではありません"が表示されますが、データベースファイル

Regex regMail = new Regex(@"^\[email protected][a-zA-Z_]+?\.[a-zA-Z]{2,3}$"); 

     if (regMail.IsMatch(mailID.Text)) 
     { 

     } 
     else 
     { 
      MessageBox.Show("Invalid Email ID, Please enter \nvalid Email ID."); 

     } 

     Email email = new Email(); 

     string emailAdd = mailID.Text; 
     string phone = phoneBox.Text; 
     string messageEmail = email.Text; 

     System.IO.StreamWriter file = new System.IO.StreamWriter(@"D:\Lia\mail.txt", true); 
     file.WriteLine(emailAdd + phone + messageEmail); 

     file.Close(); 
    } 
+0

このコードは – David

+0

が適切な検証を実施し、DBに格納する前に、妥当性を確認...データベースには何も保存されません。 –

+0

System.IO.StreamWriterを使用してデータを.txtファイルに保存しています。無効なテキストボックスからエラーメッセージがポップアップすると、保存を中止する問題があります。私はこれが理解できることを願っています。 – codemyway

答えて

0

あなたのコードのすべては、あなたのifブロックの外ですので。したがって、条件に関係なく毎回実行されます。

ifブロックでコードを入れて:

Regex regMail = new Regex(@"^\[email protected][a-zA-Z_]+?\.[a-zA-Z]{2,3}$"); 

if (regMail.IsMatch(mailID.Text)) 
{ 
    Email email = new Email(); 

    string emailAdd = mailID.Text; 
    string phone = phoneBox.Text; 
    string messageEmail = email.Text; 

    System.IO.StreamWriter file = new System.IO.StreamWriter(@"D:\Lia\mail.txt", true); 
    file.WriteLine(emailAdd + phone + messageEmail); 

    file.Close(); 
} 
else 
{ 
    MessageBox.Show("Invalid Email ID, Please enter \nvalid Email ID."); 
} 
+0

素晴らしい!どうもありがとうございます。ソートされ、あなたのポイントを得ました。 – codemyway

関連する問題