2017-03-11 12 views
0

2つのテキストボックスがあり、それぞれに整数を入力するように求められます。私はすでにコードがすべて完了しています(整数だけが入力され、2番目のtexboxに挿入された番号が1番目のtexboxに入力された番号より大きい場合、texboxesが空でないかどうかを検証するコード) 私はここに簡単な例を残します私のコード(私はすでに、すべてのコードが行っている)の:私は、コードを入れてください(私はすでに、このコードが行っている)の数は、第二テキストボックスに入力されたことを確認するために:2つのテキストボックスを検証する(C#)

private async void generate_Click(object sender, RoutedEventArgs e) 
{ 
    if (String.IsNullOrWhiteSpace(min.Text) || String.IsNullOrWhiteSpace(max.Text)) 
    { 
     // I already have the code done ... 
     // error message 
    }  
    else 
    { 
     // I already have the code done ... 
     // Here it does the operation with the two numbers entered 
    } 
} 

private async void min_TextChanged(object sender, TextChangedEventArgs e) 
{ 
    if (System.Text.RegularExpressions.Regex.IsMatch(min.Text, "[^0-9]")) 
    { 
     // I already have the code done ... 
     // error message 
    } 

} 

private async void max_TextChanged(object sender, TextChangedEventArgs e) 
{ 
    if (System.Text.RegularExpressions.Regex.IsMatch(max.Text, "[^0-9]")) 
    { 
     // I already have the code done ... 
     // error message 
    } 
} 

私は一つだけ質問があります

更新:私はコードをどこに置くかを知りたいだけです:

これは私の質問です。機能で
if (maxValue < minValue) 
{ 
    // I already have the code done ... 
    // error message 
} 

答えて

1

カプセル化、この検証ロジックをすべて返し、ボタンの内側なステートメント場合

private bool IsValid() 
{ 
if (String.IsNullOrWhiteSpace(min.Text) || String.IsNullOrWhiteSpace(max.Text)) 
    { 
     // return false any where the input is not valid 
    }  

} 

が、その後

if (IsValid()) 
{ 
    //Code To Check If Max is Bigger Than min 
} 

、簡単に呼び出すことができ、このようにイベントハンドラをクリックして使用してブール値空の文字列をチェックするためのIsVaild関数 ロジックをカプセル化して、他の関数の大きな番号を検証することもできます。使用しようとすると多くの場合

希望0完全に理解している

+0

助けてくれてありがとうが、私はそれを理解できませんでした。私は疑いを持ち続ける。 たとえば、私のコードでは(これはgenerate_Clickの例です)、ボタンがあり、このボタンをクリックすると、2つのテキストボックスが空でないかどうかがチェックされます。それらが空の場合はエラーメッセージを表示し、そうでない場合はelseを返します。 min_TextChangedおよびmax_TextChangedでは、ユーザーが整数を入力したかどうかを確認します。整数を入力しなかった場合、エラーメッセージが表示されます。 –

+0

マスクされたテキストボックスを使用しているCosnider数字だけを入力したい場合 –

+0

これは私の疑いではありません。 私はちょうど私がコードを置く場所を知りたい: '(maxValueの<のminValue) ' –

1

2番目のテキストボックスに入力された番号の確認コードが1番目のテキストボックスに入力された番号よりも大きい場合は、ボタンをクリックした後で確認できます。ここでは、サンプルの:

 private async void generate_Click(object sender, RoutedEventArgs e) 
     { 
      if (String.IsNullOrWhiteSpace(min.Text) || String.IsNullOrWhiteSpace(max.Text)) 
      { 
       await new MessageDialog("Text boxes cannot be empty").ShowAsync(); 
       return; 
      } 
      if (Convert.ToInt32(max.Text) < Convert.ToInt32(min.Text)) 
      { 
       await new MessageDialog("1st one is bigger").ShowAsync(); 
       //you may do as you want, showing a message box is just a sample 
      } 
      else 
      { 
       await new MessageDialog("2nd one is bigger").ShowAsync(); 
       //you may do as you want, showing a message box is just a sample 
      } 
     } 

そして、あなたの明確化onTextChangedイベントについては、このようなことがあります。

 private async void min_TextChanged(object sender, TextChangedEventArgs e) 
     { 
      if (System.Text.RegularExpressions.Regex.IsMatch(min.Text, "[^0-9]")) 
      { 
       await new MessageDialog("Enter numbers only.").ShowAsync(); 
       //you may do as you want, showing a message box is just a sample 
      } 

     } 
     private async void max_TextChanged(object sender, TextChangedEventArgs e) 
     { 
      if (System.Text.RegularExpressions.Regex.IsMatch(max.Text, "[^0-9]")) 
      { 
       await new MessageDialog("Enter numbers only.").ShowAsync(); 
       //you may do as you want, showing a message box is just a sample 
      } 

     } 

だからここに要約がテキストボックスが空の場合、それは警告を表示し、返します、です。ユーザーが入力番号を入力してボタンを押すと、入力番号が大きいことが確認されます。また、ユーザーが数字ではなく入力を行った場合の警告も表示されます。これがあなたを助けることを願っています。

関連する問題