簡體   English   中英

如何使用vb.net在單擊一次按鈕時驗證兩個文本框?

[英]How to validate two textboxes at single button click using vb.net?

如何使用vb.net在單擊一次按鈕時驗證兩個文本框?

它顯示一個錯誤:

Protected Sub Button2_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button2.Click
    If TextBox1 = "06:00:01 PM" & TextBox2.Text = "02:00:01 PM" Then
        MsgBox "Submit"
    End If
End Sub

我的這段代碼有什么問題嗎? 我想使用if語句驗證兩個復選框...在按鈕上單擊

首先,如果您共享錯誤消息是什么,它總是有幫助的。 但是這里有很多錯誤:

  1. &並不代表您似乎認為的那樣。 它是字符串連接運算符,與邏輯AND無關。 您需要“ And”或“ AndAlso”。
  2. 不要忘記使用TextBox的.Text屬性。
  3. 永遠不要永遠不要調用ASP.Net中的MsgBox函數。 部署到無人值守的Web服務器(正常情況下)時,它將顯示在為此目的創建的私有桌面並阻塞直到單擊為止 ,因為它一直顯示在私有destkop上,所以永遠不會發生。
  4. 您的用戶會討厭您強迫他們手動輸入這種特定的日期時間格式。
  5. 為此使用ASP.Net驗證控件。 這很簡單。

您不能僅使用TextBox1來獲取TextBox的值。要獲取該值,您需要使用TextBox1.Text

另外,您不能使用&方式,因為那是用來連接字符串的。 您需要AndAlso

嘗試這個

Protected Sub Button2_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button2.Click
    If TextBox1.Text = "06:00:01 PM" AndAlso TextBox2.Text = "02:00:01 PM" Then
        ''# This is Valid
    Else
        ''# Sorry, Try Again
    End If
End Sub

盡管我建議使用內置的ASP.NET驗證...我不確定您是否必須准確驗證那些時間,但是您可以嘗試使用RegularExpressionValidatorRequiredFieldValidator

可能是您的DateTime正則表達式

"^((((([13578])|(1[0-2]))[\-\/\s]?(([1-9])|([1-2][0-9])|(3[01])))|((([469])|(11))[\-\/\s]?(([1-9])|([1-2][0-9])|(30)))|(2[\-\/\s]?(([1-9])|([1-2][0-9]))))[\-\/\s]?\d{4})(\s((([1-9])|(1[02]))\:([0-5][0-9])((\s)|(\:([0-5][0-9])\s))([AM|PM|am|pm]{2,2})))?$"

嘗試更改:

If TextBox1 = "06:00:01 PM" & TextBox2.Text = "02:00:01 PM" Then

至:

If TextBox1.Text = "06:00:01 PM" AndAlso TextBox2.Text = "02:00:01 PM" Then

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM