i have .aspx form wher i have put validatation on submit button i check validation along with server control valdiation (like required feld validatir etct)

on submitt button

Code:
Protected Sub btn_submitt_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btn_submitt.Click
        Dim cmd, cmd1, attend_cmd, booth_cmd, cmd_hotel As New SqlCommand
        Dim validate_form As Boolean
        validate_form = 1
        '   Try

        'Response.Write(ViewState("count").ToString())

        Dim sReturn As String
        sReturn = "Please select atleast one checkbox from Company Type"


        Dim cbxcompanyCount As Int32 = 0
        Dim Item As ListItem
        For Each Item In Me.CheckBoxList1.Items
            If Item.Selected Then
                cbxcompanyCount = cbxcompanyCount + 1
            End If
        Next

       


        If (ddl_Country.SelectedItem.Text = "Select Country") Then
            Me.Label1.Visible = True
            Me.Label1.Text = "Please Select Country"

        ElseIf cbxcompanyCount = 0 Then
            Me.lbl_company_error.Text = "Please select atleast one checkbox from Company Type"

        ElseIf Me.Rdbtn_hotelbook.SelectedValue = 0 Then

            Dim bb As Int32
            'get how many packages have been selected
            Dim c As Int32

            For Each dataItem As RepeaterItem In Repeater1.Items

                Dim ckchecked As CheckBox = DirectCast(dataItem.FindControl("chk_packages"), CheckBox)
                '  Dim chk_single As CheckBox

                If ckchecked.Checked Then
                    bb = 0
                    Dim chk_single As CheckBox = DirectCast(dataItem.FindControl("single"), CheckBox)
                    Dim chk_double As CheckBox = DirectCast(dataItem.FindControl("double"), CheckBox)
                    Dim txt_sing As TextBox = DirectCast(dataItem.FindControl("txt_single"), TextBox)
                    Dim txt_doub As TextBox = DirectCast(dataItem.FindControl("txt_double"), TextBox)

                    Dim j As Integer

                    If (chk_single.Checked And txt_sing.Text = "") Then
                        bb = 0
                    ElseIf (chk_double.Checked And txt_doub.Text = "") Then
                        bb = 0
                    ElseIf chk_single.Checked And txt_sing.Text <> "" Then
                        bb = 1
                    ElseIf chk_double.Checked And txt_doub.Text <> "" Then
                        bb = 1
                    End If
                    If bb = 0 Then
                        lbl_error_package.Visible = True
                        lbl_error_package.Text = "please select at least one package with either Number of rooms(single/double)"
                        Exit For
                    Else
                        Dim str221 As String = ckchecked.Text & "   " & DirectCast(dataItem.FindControl("single"), CheckBox).Checked.ToString() & "  " & DirectCast(dataItem.FindControl("txt_single"), TextBox).Text & "  " & DirectCast(dataItem.FindControl("double"), CheckBox).Checked.ToString() & "  " & DirectCast(dataItem.FindControl("txt_double"), TextBox).Text
                        lbl_error_package.Visible = False
                    End If
                End If
            Next 'for each



                Else

            Me.Label1.Visible = False
            Dim n As Int32
            Dim connString As String = System.Configuration.ConfigurationManager.ConnectionStrings("containerConnectionString").ConnectionString


            Dim con As SqlConnection = New SqlConnection(connString)
            'con.Open()
            Dim str, str1 As String



            cmd = New SqlCommand("User_Insert", con)
            cmd.CommandType = CommandType.StoredProcedure

            cmd.Parameters.Add("@sal", SqlDbType.NVarChar, 255)
            '.Value = Me.DropDownList1.SelectedItem.Text
            cmd.Parameters("@sal").Value = Me.DropDownList1.SelectedItem.Text
            cmd.Parameters.Add("@Name", SqlDbType.NVarChar).Value = Me.txt_name.Text
            cmd.Parameters.Add("@Position", SqlDbType.NVarChar).Value = Me.txt_position.Text
            cmd.Parameters.Add("@Companyname", SqlDbType.NVarChar).Value = Me.txt_cname.Text
            cmd.Parameters.Add("@Address", SqlDbType.NVarChar).Value = Me.txt_address.Text
            cmd.Parameters.Add("@city", SqlDbType.NVarChar).Value = Me.txt_city.Text
            cmd.Parameters.Add("@state", SqlDbType.NVarChar).Value = Me.txt_state.Text
            cmd.Parameters.Add("@Country", SqlDbType.NVarChar).Value = Me.ddl_Country.SelectedItem.Text
            cmd.Parameters.Add("@telephone", SqlDbType.NVarChar).Value = Me.txt_Telephone.Text
            cmd.Parameters.Add("@telefax", SqlDbType.NVarChar).Value = Me.txt_telefax.Text
            cmd.Parameters.Add("@Email", SqlDbType.NVarChar).Value = Me.txt_email.Text
            cmd.Parameters.Add("@webaddress", SqlDbType.NVarChar).Value = Me.txt_webaddress.Text
            cmd.Parameters.Add("@spouseattend", SqlDbType.Int).Value = Me.rdbtn_spouseattend.SelectedValue
            cmd.Parameters.Add("@want_visa", SqlDbType.Int).Value = Me.rdbtn_wantvisa.SelectedValue
            cmd.Parameters.Add("@pickDrop", SqlDbType.Int).Value = Me.rdbtn_pickDrop.SelectedValue
            cmd.Parameters.Add("@hotel_booking", SqlDbType.Int).Value = Me.Rdbtn_hotelbook.SelectedValue
            cmd.Parameters.Add("@GFLN_Membership", SqlDbType.Int).Value = Me.rdbtn_gflmembership.SelectedValue
            cmd.Parameters.Add("@banner", SqlDbType.Int).Value = Me.rdbtn_banner.SelectedValue
            cmd.Parameters.Add("@Add", SqlDbType.Int).Value = Me.rdbtn_add.SelectedValue
            cmd.Parameters.Add("@sponsor", SqlDbType.Int).Value = rdbtn_sponsorship.SelectedValue

            'Create a SqlParameter object to hold the output parameter value
            Dim UserIDParam As New SqlParameter("@UserID", SqlDbType.Int)

            'IMPORTANT - must set Direction as Output
            UserIDParam.Direction = ParameterDirection.Output

            'Finally, add the parameter to the Command's Parameters collection
            cmd.Parameters.Add(UserIDParam)
            con.Open()
            Dim reader As SqlDataReader = cmd.ExecuteReader()


            Dim userid As Int32 = Convert.ToInt32(UserIDParam.Value)
            con.Close()
            con.Open()

            For j = 0 To Me.CheckBoxList1.Items.Count - 1

                If (Me.CheckBoxList1.Items(j).Selected) Then
                    str = "insert into [user_company]([UserID],[id] )values  (" & userid & " ," & Me.CheckBoxList1.Items(j).Value & " )"
                    cmd1 = New SqlCommand(str, con)
                    cmd1.ExecuteNonQuery()
                End If

            Next



            Dim index As Integer
            index = ViewState("count")
...
...

...
                
        End If ''main button

    End Sub
my problem is that user may or may not selecte Rdbtn_hotelbook (i.e radio button) .

now else should executed which submit data in database . also u can see that Rdbtn_hotelbook.SelectedValue also have valdaition
Code:
 lbl_error_package.Text = "please select at least one package with either Number of rooms(single/double)"
also untill and unless i did not get the userid fromd database it can not insert data to database in table hotel-booking.

so how to deal with it ,??
validation along with option may or may not select