7 Answers, 1 is accepted
0
iTools
Top achievements
Rank 1
answered on 21 Jul 2010, 04:08 AM
Even given a simpler scenario I get unexpected results.
In this scenario I would never expect the validator to be called. Yet, if text is typed in the combo and the button is clicked the validator is called. The only time the validator is not called, as expected, is when no custom text is typed in the ComboBox.
Please advise.
Thanks.
<
asp:ScriptManager
ID
=
"ctlScriptManager"
runat
=
"server"
/>
<
telerik:RadComboBox
ID
=
"ddlCombo"
runat
=
"server"
AllowCustomText
=
"true"
>
<
Items
>
<
telerik:RadComboBoxItem
Text
=
"Item 1"
Value
=
"1"
/>
<
telerik:RadComboBoxItem
Text
=
"Item 2"
Value
=
"2"
/>
<
telerik:RadComboBoxItem
Text
=
"Item 3"
Value
=
"3"
/>
</
Items
>
</
telerik:RadComboBox
>
<
asp:CustomValidator
ID
=
"ctlValidator"
runat
=
"server"
ControlToValidate
=
"ddlCombo"
ErrorMessage
=
"Please select a predefined item"
/>
<
br
/>
<
asp:Button
ID
=
"btnCausePostBackWithoutValidation"
runat
=
"server"
Text
=
"Post Back w/o Validation"
CausesValidation
=
"false"
/>
Private
Sub
ctlValidator_ServerValidate(
ByVal
source
As
Object
,
ByVal
args
As
ServerValidateEventArgs)
Handles
ctlValidator.ServerValidate
Dim
selectedID
As
Integer
If
Not
Integer
.TryParse(ddlCombo.SelectedValue, selectedID)
Then
args.IsValid =
False
Else
args.IsValid = selectedID > 0
End
If
End
Sub
In this scenario I would never expect the validator to be called. Yet, if text is typed in the combo and the button is clicked the validator is called. The only time the validator is not called, as expected, is when no custom text is typed in the ComboBox.
Please advise.
Thanks.
0
Hello jan fischer,
The issue that you describe is very strange.
I used your code to create a test page. After running the page and testing it with our latest version (Telerik.Web.UI 2010.2.713.20) under Internet Explorer and Firefox, I can say that the CustomValidator control never fires on my side.
Please find the sample attached and give it a try. Maybe I miss something?
Greetings,
Kalina
the Telerik team
The issue that you describe is very strange.
I used your code to create a test page. After running the page and testing it with our latest version (Telerik.Web.UI 2010.2.713.20) under Internet Explorer and Firefox, I can say that the CustomValidator control never fires on my side.
Please find the sample attached and give it a try. Maybe I miss something?
Greetings,
Kalina
the Telerik team
Do you want to have your say when we set our development plans?
Do you want to know when a feature you care about is added or when a bug fixed?
Explore the
Telerik Public Issue Tracking
system and vote to affect the priority of the items
0
iTools
Top achievements
Rank 1
answered on 26 Jul 2010, 09:39 PM
Hello Kalina,
Your sample is flawed, as the validator is not hooked-up to the ServerValidate event handler.
After changing the ServerValidator event handler to ...
... the unexpected validation behaviour is still observed. I am using the latest Telerik.Web.UI for testing purposes.
Cheers
Your sample is flawed, as the validator is not hooked-up to the ServerValidate event handler.
After changing the ServerValidator event handler to ...
Private
Sub
ctlValidator_ServerValidate(
ByVal
source
As
Object
,
ByVal
args
As
ServerValidateEventArgs)
Handles
ctlValidator.ServerValidate
Dim
selectedID
As
Integer
= 0
If
Not
Integer
.TryParse(ddlCombo.SelectedValue, selectedID)
Then
args.IsValid =
False
Else
args.IsValid = selectedID > 0
End
If
End
Sub
Cheers
0
Accepted
Hi jan fischer,
Please excuse my omission.
I reproduced the issue and it is really strange.
Let me suggest you set the ValidationGroup property of the RadComboBox and Button :
If the issue persists - could you please explain in more details the scenario that you are trying to implement?
Best wishes,
Kalina
the Telerik team
Please excuse my omission.
I reproduced the issue and it is really strange.
Let me suggest you set the ValidationGroup property of the RadComboBox and Button :
<
telerik:RadComboBox
ID
=
"ddlCombo"
runat
=
"server"
AllowCustomText
=
"true"
ValidationGroup
=
"test"
>
<
Items
>
<
telerik:RadComboBoxItem
Text
=
"Item 1"
Value
=
"1"
/>
<
telerik:RadComboBoxItem
Text
=
"Item 2"
Value
=
"2"
/>
<
telerik:RadComboBoxItem
Text
=
"Item 3"
Value
=
"3"
/>
</
Items
>
</
telerik:RadComboBox
>
<
asp:CustomValidator
ID
=
"ctlValidator"
runat
=
"server"
ControlToValidate
=
"ddlCombo"
ErrorMessage
=
"Please select a predefined item"
/>
<
br
/>
<
asp:Button
ID
=
"btnCausePostBackWithoutValidation"
runat
=
"server"
Text
=
"Post Back w/o Validation"
CausesValidation
=
"false"
ValidationGroup
=
"test"
OnClick
=
"btnCausePostBackWithoutValidation_OnClick"
/>
<
asp:Label
ID
=
"lblTest"
runat
=
"server"
></
asp:Label
>
If the issue persists - could you please explain in more details the scenario that you are trying to implement?
Best wishes,
Kalina
the Telerik team
Do you want to have your say when we set our development plans?
Do you want to know when a feature you care about is added or when a bug fixed?
Explore the
Telerik Public Issue Tracking
system and vote to affect the priority of the items
0
iTools
Top achievements
Rank 1
answered on 01 Aug 2010, 09:02 PM
Hello Kalina,
That does seem to circumvent the unexpected behaviour, however it seems like a bug?
Now, I stuck another button on the form, one that should cause validation.
It would seem that expected behaviour would mean the validation handler is called when the
Cheers,
Jan
That does seem to circumvent the unexpected behaviour, however it seems like a bug?
Now, I stuck another button on the form, one that should cause validation.
<
asp:ScriptManager
ID
=
"ctlScriptManager"
runat
=
"server"
/>
<
telerik:radcombobox
id
=
"ddlCombo"
runat
=
"server"
allowcustomtext
=
"true"
emptymessage
=
"Please Select"
onclientdropdownopening
=
"OnClientDropDownOpening"
enableloadondemand
=
"true"
validationgroup
=
"test"
/>
<
asp:CustomValidator
ID
=
"ctlValidator"
runat
=
"server"
ControlToValidate
=
"ddlCombo"
ErrorMessage
=
"Please select a predefined item"
/>
<
br
/>
<
asp:Button
ID
=
"btnCausePostBackWithoutValidation"
runat
=
"server"
Text
=
"Post Back w/o Validation"
CausesValidation
=
"false"
ValidationGroup
=
"test"
/>
<
asp:Button
ID
=
"btnCausePostBackWithValidation"
runat
=
"server"
Text
=
"Validate"
/>
It would seem that expected behaviour would mean the validation handler is called when the
btnCausePostBackWithValidation
button was pressed without changing the RadCombo control, but the validator is not called. Only a change of the RadCombo causes validator to fire...Cheers,
Jan
0
Hello,
I believe this is the expected behavior in this case - the CustomValidator won't fire when the control to validate is empty. To quote MSDN - "If the input control is empty, no validation functions are called and validation succeeds. Use a RequiredFieldValidator control to prevent the user from skipping an input control."
Alternatively set ValidateEmptyText="true"
I hope this helps.
Kind regards,
Tsvetomir Tsonev
the Telerik team
I believe this is the expected behavior in this case - the CustomValidator won't fire when the control to validate is empty. To quote MSDN - "If the input control is empty, no validation functions are called and validation succeeds. Use a RequiredFieldValidator control to prevent the user from skipping an input control."
Alternatively set ValidateEmptyText="true"
I hope this helps.
Kind regards,
Tsvetomir Tsonev
the Telerik team
Do you want to have your say when we set our development plans?
Do you want to know when a feature you care about is added or when a bug fixed?
Explore the
Telerik Public Issue Tracking
system and vote to affect the priority of the items
0
iTools
Top achievements
Rank 1
answered on 05 Aug 2010, 09:49 PM
Hey Tsvetomir,
Very right, I should be using a RequiredFieldValidator for that, my bad :)
The workaround for setting the validationgroup on the controls will be an adequate one for my circumstance.
Thanks,
Jan
Very right, I should be using a RequiredFieldValidator for that, my bad :)
The workaround for setting the validationgroup on the controls will be an adequate one for my circumstance.
Thanks,
Jan