message d'erreur pour la validation d'un formulaire
bonjour à tous,
je voudrais verifier que l'utilisateur ai remplis tous les champs j'ai une page test avec un textbox "nom" et une page message pour tous mes formulaire voici le code du bouton enregistrer de la page test :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82
| Protected Sub Button1_Click(ByVal sender As Object, ByVal e As EventArgs) Handles Button1.Click
'-------------------------------------
' Variables declaration
'-------------------------------------
Dim objCommand As SqlCommand
Dim objParam As SqlParameter
Dim dt_KeywordsID As DataTable = New DataTable("produit")
Dim dtc_KeywordsID As DataColumn
Dim myConnection As SqlConnection = New SqlConnection("data source=UC033\DEV;integrated security=SSPI;initial catalog=BUDGET2")
'-------------------------------------
' Create a connection to SQL Server
'-------------------------------------
objCommand = New SqlCommand("dbo.spd_produit_insert", myConnection)
objCommand.CommandType = CommandType.StoredProcedure
objCommand.Connection.Open()
'-------------------------------------
' Create parameters for sp
'-------------------------------------
objParam = objCommand.Parameters.Add("@nom", SqlDbType.VarChar, 50)
objParam.Value = nom.Text
'-------------------------------------
' Prepare table as parameter
'-------------------------------------
dtc_KeywordsID = New DataColumn()
dtc_KeywordsID.ColumnName = "id_produit"
dt_KeywordsID.Columns.Add(dtc_KeywordsID)
'-------------------------------------
' Store procedure execution
'-------------------------------------
objCommand.ExecuteNonQuery()
'-------------------------------------
' Close the connexion object
'-------------------------------------
objCommand.Connection.Close()
'-----------------------------------------------------------------------------------------------------------
'creation d'une collection pour conserver l'état de la page et verifier que tous les champs soit remplis
'-----------------------------------------------------------------------------------------------------------
Dim save_state As New Collection
Dim colErrorMessages As New Collection
If nom.Text = "" Then
colErrorMessages.Add(1, "Vous devez renseigner le champ Nom.")
Else
save_state.Add("nom", nom.Text)
End If
Session("StatePage") = save_state
Session("error") = colErrorMessages
'---------------------------
'message de confirmation
'---------------------------
Session("lblvalidation") = "l'ajout est bien effectuer"
Response.Redirect("message.aspx")
End Sub |
et voici le code dans ma page message ou jappel mes variable de session enfait:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
| protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
Dim save_collect As New Collection
Dim error_collect As New Collection
Dim intBound As Integer
Dim intLoop As Integer
Dim strmessages As String
Dim bound As Integer
save_collect = Session("StatePage")
strmessages = ""
intBound = save_collect.Count
For intLoop = 1 To intBound
strmessages = strmessages + save_collect.Item(intLoop).ToString + vbCrLf
Next
error_collect = Session("error")
bound = error_collect.Count
For intLoop = 1 To bound
strmessages = "vous de vez remplir tous les champs"
Next
lbl_validation.Text = Session("lblvalidation")
End Sub |
quand j'exécute ma page test et que je ne rempli pas le textbox le messagebox "il faut remplir tous les champs" saffiche mais quand je clicke sur "OK"
la page message s'affiche avec 'l'ajout est bien effectuer"
alors que je n'ai pas rempli le champs....
je ne sais ppas si j'ai été claire
si quelqu'un a une idée elle sera la bienvenu:ccool::ccool: