2009-11-17 31 views
0
下一頁

我的正則表達式驗證,其中檢查在文本框中輸入的值是否是一個數字一個頁面,它不是數字,它提供了錯誤信息說「應該是數字」驗證失敗,但移動到

但是當我點擊下一個按鈕的形式..它導航到下一頁。但它不應該。如何解決這個問題?所有的

Protected Sub btn_View1_Next_Click(ByVal sender As Object, ByVal e As EventArgs) Handles btn_View1_Next.Click 
     Try 
      Dim currentView As Int16 
      currentView = mvRequestorForm.ActiveViewIndex 
      Dim rowsCount As Integer = gvRoleDepartment.Rows.Count 
      Dim checkCount As Integer = 0 
      ''USERID Validation 
      lblUserExists.Text = String.Empty 

      rfvStoreNumber.Validate() 
      rfvStoreNumber.SetFocusOnError = True 

      rfvSurName.Validate() 
      rfvSurName.SetFocusOnError = True 

      ''New USesr 
      If (ddl_view0_typeOfRequest.SelectedItem.ToString().ToLower().Equals("new")) Then 
       rfvEmplyeeNumber.Visible = True 
       If Page.IsValid Then 
        If currentView = 1 Then 
         mvRequestorForm.ActiveViewIndex = (currentView + 1) 
         rfv_view2_managersEmail.Enabled = True 
         rev_view2_managersEmail.Enabled = True 
        Else 
         mvRequestorForm.ActiveViewIndex = (currentView + 1) 
        End If 

        If currentView = 0 Then accountType = ddl_view0_typeOfRequest.SelectedItem.ToString() 
        If mvRequestorForm.ActiveViewIndex = 1 Then 
         Sub_ActivateView1() 
        End If 
       End If 
      ElseIf ddl_view0_typeOfRequest.SelectedValue.ToString().ToLower().Equals("delete") Then 
       ''Check the requirement 

       'rfvFirstName.Validate() 
       'rfvFirstName.SetFocusOnError = True 

       rfvUserID.Validate() 
       rfvUserID.SetFocusOnError = True 

       rfvEmplyeeNumber.Visible = True 
       If Page.IsValid Then 
        Dim dsRoles As New DataSet 
        dsRoles = SearchGroups(txtUserID.Text.Trim()) 
        If Not sResult Is Nothing Then 
         lblUserExists.Text = String.Empty 
         If currentView = 1 Then 
          mvRequestorForm.ActiveViewIndex = (currentView + 1) 
          rfv_view2_managersEmail.Enabled = True 
          rev_view2_managersEmail.Enabled = True 
         Else 
          mvRequestorForm.ActiveViewIndex = (currentView + 1) 
         End If 

         If currentView = 0 Then accountType = ddl_view0_typeOfRequest.SelectedItem.ToString() 
         If mvRequestorForm.ActiveViewIndex = 1 Then 
          Sub_ActivateView1() 
         End If 
        Else 
         lblUserExists.Text = String.Format("This userid doesn't exist. Please enter a valid user id.") 
         Return 
        End If 
       End If 
      Else 
       ''Update User 
       rfvUserID.Validate() 
       rfvUserID.SetFocusOnError = True 
       rfvEmplyeeNumber.Visible = True 
       If Page.IsValid Then 
        Dim dsRoles As New DataSet 
        dsRoles = SearchGroups(txtUserID.Text.Trim()) 
        If Not sResult Is Nothing Then 
         lblUserExists.Text = String.Empty 
         If currentView = 1 Then 
          mvRequestorForm.ActiveViewIndex = (currentView + 1) 
          rfv_view2_managersEmail.Enabled = True 
          rev_view2_managersEmail.Enabled = True 
         Else 
          mvRequestorForm.ActiveViewIndex = (currentView + 1) 
         End If 

         If currentView = 0 Then accountType = ddl_view0_typeOfRequest.SelectedItem.ToString() 
         If mvRequestorForm.ActiveViewIndex = 1 Then 
          Sub_ActivateView1() 
         End If 
        Else 
         lblUserExists.Text = String.Format("This userid doesn't exist. Please enter a valid user id.") 
         Return 
        End If 
       End If 
      End If 

     Catch ex As Exception 

     End Try 
    End Sub 
+0

你可以發佈下一個按鈕的代碼嗎? – kemiller2002

+0
+0

編輯問題併爲按鈕的單擊事件添加代碼。另外,可以肯定的是,你確實在頁面中有一個驗證控件?它的團隊也被設置爲Form2? –

回答

1

首先...你有這個在你的web.config:

<xhtmlConformance mode="Legacy"> 

如果你這樣做......這基本上是打破了所有客戶端驗證。請務必注意,服務器端驗證不會自動讓您的頁面無法處理。你必須檢查Page.IsValid屬性......看起來你正在這樣做。但...

第二...爲什麼你明確調用rfvUserID控件上的Validate()?這不應該是必要的。這可能是通過這樣做使IsValid屬性無效。

但是,這聽起來像自動驗證器沒有發射。你能發佈aspx嗎?只有「Form2」驗證組中的驗證器纔會觸發btn_View1_Next。嘗試刪除所有ValidationGroup設置。它工作正常嗎?

最後... ID「Form2」暗示着可疑的東西。你在這個頁面上只有一個實際的表單標籤,對嗎?否則,你會遇到很多問題。

+0

問題與驗證組...糾正了問題 – SmartestVEGA