Jag skapar några textboxar så här Hej Andreas! Tack. Din kod fungerar när jag kör den i page_load. Problemet är att jag inte gör det utan jag skapar textboxarna efter att användarna valt hur många han vill ha. Hej igen!skapa RequiredFieldValidator
<code>
Dim tbOmgang As TextBox = New TextBox()
tbOmgang.ID = "tbOmgang" & i
</code>
Nu försöker jag lägga till validering på textboxen men får det inte att fungera
<code>
Dim test As RequiredFieldValidator = New RequiredFieldValidator()
test.ID = "test" & i
test.ControlToValidate = "tbOmgang" & i
test.ErrorMessage = "Omgång måste fyllas i"
</code>
Inga felmeddelanden men formuläret postas även om tbOmgang är tom.
En fråga till.
Jag skulle vilja kolla så att de inskrivna datumen är i formatet åååå-mm-dd . Är det någon som vet hur regexp-mönstret ska se ut?
Skulle även vilja kolla så att tiden är i formatet hh:mmSv: skapa RequiredFieldValidator
I din exempelkod visar du inte om du lägger till kontrollerna till sidan. Hur som helst så fick jag det hela att fungera:
1. Skapa ett tomt webbprojekt.
2. Lägg till en Panel och en Button (Behåll deras default-namn.)
3. Gå in i kodläge och klistra in följande i Page_Load:
<code>
If Not Page.IsPostBack Then
Dim myInput As TextBox = New TextBox()
myInput.ID = "myInput"
Panel1.Controls.Add(myInput)
Dim myVal As RequiredFieldValidator = New RequiredFieldValidator()
myVal.ID = "myVal"
myVal.ControlToValidate = "myInput"
myVal.ErrorMessage = "Du har inte skrivit något!"
Panel1.Controls.Add(myVal)
End If
</code>
Vad gäller regexp är jag ingen höjdare.
(\d\d\d\d)-[0-1]?[0-9]-[0-3]?[0-9] borde funka någorlunda för årtal, även om den kommer att godkänna t.ex. "2002-17-38".
[0-2]?[0-9]:[0-5]?[0-9] funkar ungefär likadant för tid, men ex. "27:00" går igenom.Sv: skapa RequiredFieldValidator
På aspx sidan har jag en dropdownlist som jag fyller i pageload
<code>
<asp:DropDownList id="ddlantal" runat="server" autopostback="True" onselectedindexchanged="skapa">
'suben som fyller dropdownen
Public Sub bindantal()
Dim i As Integer
ddlantal.Items.Add(" ")
For i = 1 To 120
ddlantal.Items.Add(i)
Next
DataBind()
End Sub
</code>
Sen så har jag en sub som skapar textfälten
<code>
Public Sub skapa(ByVal obj As Object, ByVal e As EventArgs)
Dim numtexts As Integer
Dim i As Integer
numtexts = CInt(ddlantal.SelectedItem.Text)
Dim plOmgang As Panel = New Panel()
For i = 1 To numtexts
Dim tbOmgang As TextBox = New TextBox()
tbOmgang.ID = "tbOmgang" & i
tbOmgang.Width = Unit.Pixel(25)
Dim test As RequiredFieldValidator = New RequiredFieldValidator()
test.ID = "test" & i
test.ControlToValidate = "tbOmgang" & i
test.ErrorMessage = "Omgång måste fyllas i"
Next
plOmgang.Controls.Add(tbomgang)
end sub
</code>
Kan det vara därför det inte fungerar?Sv: skapa RequiredFieldValidator
Lägger du till Validatorn också?
plOmgang.Controls.Add("test")