This is a migrated thread and some comments may be shown as answers.

Trouble with numeric text box and validators

5 Answers 236 Views
Input
This is a migrated thread and some comments may be shown as answers.
Brian
Top achievements
Rank 1
Brian asked on 16 Jun 2010, 09:54 PM
I am trying to use an asp range validator to throw a message when the user tries to hit the save button.  It works when I do not set a min and max value.  I am setting the min and max value in the code behind.  Any suggestions?

        <asp:RangeValidator ID="rv" runat="server" ErrorMessage="Enter a valid value." 
            ControlToValidate="txt" Type="Integer" MinimumValue="0" 
            MaximumValue="100"></asp:RangeValidator> 
 
                            <telerik:RadNumericTextBox ID="txt" runat="server" Culture="en-US" Type="Percent" 
                                Width="90px" InvalidStyle-BorderColor="Red" InvalidStyle-BorderStyle="Solid" 
                                AllowOutOfRangeAutoCorrect="false" InvalidStyle-BorderWidth="2" CausesValidation="true"
                                <ClientEvents OnLoad="Load" OnBlur="Blur" OnFocus="Focus" OnError="Error" /> 
                                <NumberFormat DecimalDigits="4" AllowRounding="false" KeepNotRoundedValue="true" /> 
                            </telerik:RadNumericTextBox> 

5 Answers, 1 is accepted

Sort by
0
Brian
Top achievements
Rank 1
answered on 16 Jun 2010, 11:54 PM
Got it figured out.  I had to do some fancy client side java script to make it do what I wanted.
0
Jidesh Guptha
Top achievements
Rank 1
answered on 08 Nov 2010, 04:30 PM
can you pls share how did u fix the problem

Jidesh
0
Brian
Top achievements
Rank 1
answered on 08 Nov 2010, 04:47 PM
I had to use a custom validator.
<telerik:RadNumericTextBox ID="txt" runat="server" Culture="en-US" Type="Percent"
    Width="90px" InvalidStyle-BorderColor="Red" InvalidStyle-BorderStyle="Solid"
    AllowOutOfRangeAutoCorrect="false" InvalidStyle-BorderWidth="2" CausesValidation="true"
    Skin="" EnableEmbeddedBaseStylesheet="false" EnabledStyle-PaddingLeft="1" SelectionOnFocus="SelectAll"
    AutoPostBack="false" TabIndex="20">
    <ClientEvents OnBlur="Blur" OnFocus="Focus" OnKeyPress="DetectEnter"/>
    <NumberFormat DecimalDigits="6" />
</telerik:RadNumericTextBox>
<asp:RequiredFieldValidator ID="rfv" runat="server" ErrorMessage="Field Required"
    ControlToValidate="txt" Display="None">
</asp:RequiredFieldValidator>
<asp:CustomValidator ID="cv" ControlToValidate="txt" runat="server"
    ClientValidationFunction="ClientValidate" ErrorMessage="Enter a valid value."
    Display="none"
</asp:CustomValidator>
function ClientValidate(sender, args) {
  
    if (parseFloat($find(sender.getAttribute('ControlToValidate')).get_textBoxValue()) > $find(sender.getAttribute('ControlToValidate'))._maxValue ||
        parseFloat($find(sender.getAttribute('ControlToValidate')).get_textBoxValue()) < $find(sender.getAttribute('ControlToValidate'))._minValue ||
         $find(sender.getAttribute('ControlToValidate')).get_textBoxValue() == '') {
        args.IsValid = false;
    }
    else {
        args.IsValid = true;
    }
  
  
}
0
Jidesh Guptha
Top achievements
Rank 1
answered on 09 Nov 2010, 07:46 AM
Where have you assigned min and max value
0
Brian
Top achievements
Rank 1
answered on 09 Nov 2010, 02:25 PM
I set them in the code behind.  My min/max values are stored in a database.  You can set them wherever you want.

txt.MinValue = MinValueFromDB
txt.MaxValue = MaxValueFromDB

Or

<telerik:RadNumericTextBox ID="txt" runat="server" Culture="en-US" Type="Currency"
    Width="90px" InvalidStyle-BorderColor="Red" InvalidStyle-BorderStyle="Solid"
    AllowOutOfRangeAutoCorrect="false" InvalidStyle-BorderWidth="2" CausesValidation="true"
    Skin="" EnableEmbeddedBaseStylesheet="false" TabIndex="65" MaxValue="10" MinValue="0">
    <NumberFormat DecimalDigits="2" />
    <ClientEvents OnKeyPress="DetectEnter" />
</telerik:RadNumericTextBox>
<asp:RequiredFieldValidator ID="rfv" runat="server" ErrorMessage="Enter a valid value."
    ControlToValidate="txt" Display="None"></asp:RequiredFieldValidator>
<asp:CustomValidator ID="cv" ControlToValidate="txt" runat="server"
    ClientValidationFunction="ClientValidate" ErrorMessage="Value is out of range (<min> - <max>)."
    Display="none"> 
</asp:CustomValidator>
Tags
Input
Asked by
Brian
Top achievements
Rank 1
Answers by
Brian
Top achievements
Rank 1
Jidesh Guptha
Top achievements
Rank 1
Share this question
or