2013-07-08 14 views
0

如何多重驗證文本框?我只想要用戶輸入整數,但整數不應該是0或更少,我該怎麼做?這是我做了什麼:vb.net中的多重驗證[非0和數字]

If Val(txtCopies.Text) <= 0 Then 
    ErrorProvider1.SetError(txtCopies, "Number should be bigger than 0 ") 

    If IsNumeric(txtCopies.Text) = False Then 
     ErrorProvider1.SetError(txtCopies, "Number only") 
    Else 
     blabla 
    End If 
End If 

回答

0
Dim intValue As Integer 

If Not Integer.TryParse(TxtBox.Text, intValue) OrElse intValue < 0 Then 


Else 


End If 
0

這是一個很長的時間,因爲我已經做了VB,但在這裏你去:

它必須能夠轉換無論是在文本框到一個整數。 要做到這一點,它會檢​​查字符串是否爲數字,如果是,則num變量取其值(因此可以進行檢查)。如果這個值大於0,那麼它表示它是無效的。

它需要是一個嵌套的If語句才能發生。

Sub OnClick() 
     Dim str As String 
     Dim num As Integer 

     str = TextBox1.Text 
     If IsNumeric(str) Then 
      num = str 
      If num <= 0 Then 
       TextBox1.Text = "Sorry, not valid" 
      End If 
     Else 
      TextBox1.Text = "Sorry, not a number" 
     End If 
    End Sub 
0

在你的風格..

If Not IsNumeric(txtCopies.Text) And Val(txtCopies.Text) <= 0 Then 
    ErrorProvider1.SetError(txtCopies, "Number only") 
Else 
    If Val(txtCopies.Text) <= 0 Then 
    ErrorProvider1.SetError(txtCopies, "Number should be bigger than 0 ") 
    Else 
    'Blabla 
    End If 
End If 
1
If IsNumeric(txtCopies.Text) = True AND CINT(txtCopies.Text) >= 0 Then 

    'Validation Passed 
Else 
    ErrorProvider1.SetError(txtCopies, "Number should be bigger than 0 ") 

End If 

你去那裏,否則請解釋更好

你也可以做

If IsNumeric(txtCopies.Text) = True AND CINT(txtCopies.Text) >= 0 Then 

    'Validation Passed 
Else 
    if not(IsNumeric(txtCopies.Text) = True) then 
     ErrorProvider1.SetError(txtCopies, "Numbers Only") 
    else 
     ErrorProvider1.SetError(txtCopies, "Number should be bigger than 0 ") 
    end if 
End If