|
code
newsgroups
|
|||||||||||||||||||||||
|
|||||||||||||||||||||||
CustomValidatorI'm trying to add a CustomValidator that must validate a TextBox, ensuring that the number inserted be in a range of long. I cannot use RangeValidator because long is not a supported type, and in addition I wanted to learn to develop a Custom Validator control. Everything worked fine until I tryied to add 2 different LongRangeValidator controls on the same page, with 2 different ranges. The problem is that my ClientValidationFunction is built at runtime with the range limits stamped in it, that results in the following code rendered: function ClientLongRangeValidation(source, arguments) { arguments.IsValid = false; if (!isNaN(arguments.Value)) { var val = arguments.Value if (arguments.Value >= -9223372036854775808 && arguments.Value <= 9223372036854775807) arguments.IsValid = true; } } I see that the normal RangeValidator control adds some interesting rows at the bottom of the page: var gnIB1_ctl02 = document.all ? document.all["gnIB1_ctl02"] : document.getElementById("gnIB1_ctl02"); gnIB1_ctl02.controltovalidate = "gnIB1_gnTxt1"; gnIB1_ctl02.type = "Integer"; gnIB1_ctl02.evaluationfunction = "RangeValidatorEvaluateIsValid"; gnIB1_ctl02.maximumvalue = "2147483647"; gnIB1_ctl02.minimumvalue = "0"; While CustomValidator just adds the following: var gnIB2_ctl02 = document.all ? document.all["gnIB2_ctl02"] : document.getElementById("gnIB2_ctl02"); gnIB2_ctl02.controltovalidate = "gnIB2_gnTxt2"; gnIB2_ctl02.errormessage = "Invalid. Min:-9223372036854775808, max: 9223372036854775807"; gnIB2_ctl02.evaluationfunction = "CustomValidatorEvaluateIsValid"; gnIB2_ctl02.clientvalidationfunction = "ClientLongRangeValidation"; It's seems that if I could add a minimumvalue and a maximumvalue fields for each control, I could write a different client function that would work with as many controls I'd like. But how can I add "javascript fields"? I see that CustomValidator inherits RegisterValidatorCommonScript and RegisterValidatorDeclaration, but I don't think they're the right methods. Any help would be appreciated, Thanks. Paolo Benetti. hi Paolo, you can register you two propertis as expando attributes. The
method you are looking for is RegisterExpandoAttribute. http://msdn2.microsoft.com/en-us/library/ms153123.aspx Regards, Alessandro Zifiglio http://www.AsyncUI.net Show quoteHide quote "Paolo Benetti" <pla***@tiscali.it> ha scritto nel messaggio news:OZvYL9yqGHA.148@TK2MSFTNGP04.phx.gbl... > Dear all, > > I'm trying to add a CustomValidator that must validate a TextBox, ensuring > that the number inserted be in a range of long. > I cannot use RangeValidator because long is not a supported type, and in > addition I wanted to learn to develop a Custom Validator control. > > Everything worked fine until I tryied to add 2 different > LongRangeValidator > controls on the same page, with 2 different ranges. The problem is that my > ClientValidationFunction is built at runtime with the range limits stamped > in it, that results in the following code rendered: > > function ClientLongRangeValidation(source, arguments) { > arguments.IsValid = false; > if (!isNaN(arguments.Value)) { > var val = arguments.Value > if (arguments.Value >= -9223372036854775808 && arguments.Value <= > 9223372036854775807) > arguments.IsValid = true; > } > } > > I see that the normal RangeValidator control adds some interesting rows at > the bottom of the page: > var gnIB1_ctl02 = document.all ? document.all["gnIB1_ctl02"] : > document.getElementById("gnIB1_ctl02"); > gnIB1_ctl02.controltovalidate = "gnIB1_gnTxt1"; > gnIB1_ctl02.type = "Integer"; > gnIB1_ctl02.evaluationfunction = "RangeValidatorEvaluateIsValid"; > gnIB1_ctl02.maximumvalue = "2147483647"; > gnIB1_ctl02.minimumvalue = "0"; > > While CustomValidator just adds the following: > var gnIB2_ctl02 = document.all ? document.all["gnIB2_ctl02"] : > document.getElementById("gnIB2_ctl02"); > gnIB2_ctl02.controltovalidate = "gnIB2_gnTxt2"; > gnIB2_ctl02.errormessage = "Invalid. Min:-9223372036854775808, max: > 9223372036854775807"; > gnIB2_ctl02.evaluationfunction = "CustomValidatorEvaluateIsValid"; > gnIB2_ctl02.clientvalidationfunction = "ClientLongRangeValidation"; > > It's seems that if I could add a minimumvalue and a maximumvalue fields > for > each control, I could write a different client function that would work > with > as many controls I'd like. > > But how can I add "javascript fields"? > I see that CustomValidator inherits RegisterValidatorCommonScript and > RegisterValidatorDeclaration, but I don't think they're the right methods. > > Any help would be appreciated, Thanks. > Paolo Benetti. > > > Hi Alessandro,
you saved me from insanity. It works perfectly now. Many thanks, Paolo. Show quoteHide quote "Alessandro Zifiglio" <AlessandroZifiglio @ -h-o-t-m-a-i-l-c-o-m> wrote in message news:%23RM69TzqGHA.2440@TK2MSFTNGP03.phx.gbl... > hi Paolo, you can register you two propertis as expando attributes. The > method you are looking for is RegisterExpandoAttribute. > > http://msdn2.microsoft.com/en-us/library/ms153123.aspx > > Regards, > Alessandro Zifiglio > http://www.AsyncUI.net > > > "Paolo Benetti" <pla***@tiscali.it> ha scritto nel messaggio > news:OZvYL9yqGHA.148@TK2MSFTNGP04.phx.gbl... >> Dear all, >> >> I'm trying to add a CustomValidator that must validate a TextBox, >> ensuring >> that the number inserted be in a range of long. >> I cannot use RangeValidator because long is not a supported type, and in >> addition I wanted to learn to develop a Custom Validator control. >> >> Everything worked fine until I tryied to add 2 different >> LongRangeValidator >> controls on the same page, with 2 different ranges. The problem is that >> my >> ClientValidationFunction is built at runtime with the range limits >> stamped >> in it, that results in the following code rendered: >> >> function ClientLongRangeValidation(source, arguments) { >> arguments.IsValid = false; >> if (!isNaN(arguments.Value)) { >> var val = arguments.Value >> if (arguments.Value >= -9223372036854775808 && arguments.Value <= >> 9223372036854775807) >> arguments.IsValid = true; >> } >> } >> >> I see that the normal RangeValidator control adds some interesting rows >> at >> the bottom of the page: >> var gnIB1_ctl02 = document.all ? document.all["gnIB1_ctl02"] : >> document.getElementById("gnIB1_ctl02"); >> gnIB1_ctl02.controltovalidate = "gnIB1_gnTxt1"; >> gnIB1_ctl02.type = "Integer"; >> gnIB1_ctl02.evaluationfunction = "RangeValidatorEvaluateIsValid"; >> gnIB1_ctl02.maximumvalue = "2147483647"; >> gnIB1_ctl02.minimumvalue = "0"; >> >> While CustomValidator just adds the following: >> var gnIB2_ctl02 = document.all ? document.all["gnIB2_ctl02"] : >> document.getElementById("gnIB2_ctl02"); >> gnIB2_ctl02.controltovalidate = "gnIB2_gnTxt2"; >> gnIB2_ctl02.errormessage = "Invalid. Min:-9223372036854775808, max: >> 9223372036854775807"; >> gnIB2_ctl02.evaluationfunction = "CustomValidatorEvaluateIsValid"; >> gnIB2_ctl02.clientvalidationfunction = "ClientLongRangeValidation"; >> >> It's seems that if I could add a minimumvalue and a maximumvalue fields >> for >> each control, I could write a different client function that would work >> with >> as many controls I'd like. >> >> But how can I add "javascript fields"? >> I see that CustomValidator inherits RegisterValidatorCommonScript and >> RegisterValidatorDeclaration, but I don't think they're the right >> methods. >> >> Any help would be appreciated, Thanks. >> Paolo Benetti. >> >> >> > > your more than welcome, Paolo.
Have a good day, Alessandro Zifiglio http://www.AsyncUI.net Show quoteHide quote "Paolo" <paolo_bene***@hotmail.com> ha scritto nel messaggio news:u2JnzlzqGHA.4508@TK2MSFTNGP04.phx.gbl... > Hi Alessandro, > > you saved me from insanity. > It works perfectly now. > > Many thanks, > Paolo. > > > "Alessandro Zifiglio" <AlessandroZifiglio @ -h-o-t-m-a-i-l-c-o-m> wrote in > message news:%23RM69TzqGHA.2440@TK2MSFTNGP03.phx.gbl... >> hi Paolo, you can register you two propertis as expando attributes. The >> method you are looking for is RegisterExpandoAttribute. >> >> http://msdn2.microsoft.com/en-us/library/ms153123.aspx >> >> Regards, >> Alessandro Zifiglio >> http://www.AsyncUI.net >> >> >> "Paolo Benetti" <pla***@tiscali.it> ha scritto nel messaggio >> news:OZvYL9yqGHA.148@TK2MSFTNGP04.phx.gbl... >>> Dear all, >>> >>> I'm trying to add a CustomValidator that must validate a TextBox, >>> ensuring >>> that the number inserted be in a range of long. >>> I cannot use RangeValidator because long is not a supported type, and in >>> addition I wanted to learn to develop a Custom Validator control. >>> >>> Everything worked fine until I tryied to add 2 different >>> LongRangeValidator >>> controls on the same page, with 2 different ranges. The problem is that >>> my >>> ClientValidationFunction is built at runtime with the range limits >>> stamped >>> in it, that results in the following code rendered: >>> >>> function ClientLongRangeValidation(source, arguments) { >>> arguments.IsValid = false; >>> if (!isNaN(arguments.Value)) { >>> var val = arguments.Value >>> if (arguments.Value >= -9223372036854775808 && arguments.Value <= >>> 9223372036854775807) >>> arguments.IsValid = true; >>> } >>> } >>> >>> I see that the normal RangeValidator control adds some interesting rows >>> at >>> the bottom of the page: >>> var gnIB1_ctl02 = document.all ? document.all["gnIB1_ctl02"] : >>> document.getElementById("gnIB1_ctl02"); >>> gnIB1_ctl02.controltovalidate = "gnIB1_gnTxt1"; >>> gnIB1_ctl02.type = "Integer"; >>> gnIB1_ctl02.evaluationfunction = "RangeValidatorEvaluateIsValid"; >>> gnIB1_ctl02.maximumvalue = "2147483647"; >>> gnIB1_ctl02.minimumvalue = "0"; >>> >>> While CustomValidator just adds the following: >>> var gnIB2_ctl02 = document.all ? document.all["gnIB2_ctl02"] : >>> document.getElementById("gnIB2_ctl02"); >>> gnIB2_ctl02.controltovalidate = "gnIB2_gnTxt2"; >>> gnIB2_ctl02.errormessage = "Invalid. Min:-9223372036854775808, max: >>> 9223372036854775807"; >>> gnIB2_ctl02.evaluationfunction = "CustomValidatorEvaluateIsValid"; >>> gnIB2_ctl02.clientvalidationfunction = "ClientLongRangeValidation"; >>> >>> It's seems that if I could add a minimumvalue and a maximumvalue fields >>> for >>> each control, I could write a different client function that would work >>> with >>> as many controls I'd like. >>> >>> But how can I add "javascript fields"? >>> I see that CustomValidator inherits RegisterValidatorCommonScript and >>> RegisterValidatorDeclaration, but I don't think they're the right >>> methods. >>> >>> Any help would be appreciated, Thanks. >>> Paolo Benetti. >>> >>> >>> >> >> > >
DropdownList problem with internet explorer
passing data on the cleint side onTextChanged won't fire in UserControl GridView, ObjectDataSource, Update problems. How-to link 2 Detailsview Formview child control data retrieval Windows control in .ASPX page ASP.NET vs Windows Forms for building client application .Net 2.0 - WebBrowser control embedded in IE causes problems Commenting Out Controls In HTML View |
|||||||||||||||||||||||