Home     About PeterBlum.com     Policies     Download a Licensed Product     Newsletter

Software Releases


ID: 00050   Posted on: 9/6/2005

Professional Validation And More v3.0.2

  • Support for ASP.NET 2.0 features. Assemblies compiled with ASP.NET 2.0 Beta 2 are included and provide extensive enhancements related to the new features offered in ASP.NET 2.0. Each user's guide has a section detailing what has changed. The Installation Guide has steps to update from an ASP.NET 1.x site to 2.0. WARNING: This software is compiled with ASP.NET 2.0 Beta 2. It will be recompiled with the Release Candidate builds when they become available. A Beta 2 assembly may break when run on a site using the Release Candidate. A Release Candidate assembly may break when run on a site using Beta 2. So try to use versions of ASP.NET 2.0 that are the same release as these assemblies.
  • Client-side validation support for the Telerik r.a.d. controls suite including r.a.d. editor, r.a.d. grid, r.a.d. combobox, r.a.d. menu, and r.a.d. tabstrip. See the documentation in the Telerik r.a.d. controls folder to set up this support.
  • Several features that support images now let you assign the alternative text (the <img alt=''> attribute) so that when the browser fails to load the image, some text is displayed:
    • AlertImageErrorFormatter and TooltipImageErrorFormatter now have the ImageAltText property. It uses a global value from PeterBlum.VAM.Globals.Page.DefaultImageErrorFormatterImageAltText or the Global Settings Editor by default.
    • The images of RequiredFieldMarker and RequiredFieldDescription now use the global value from PeterBlum.VAM.Globals.Page.DefaultRequiredFieldImageAltText or the Global Settings Editor.
    • The NoErrorFormatter uses the global value from PeterBlum.VAM.Globals.Page.DefaultNoErrorFormatterImageAltText or the Global Settings Editor.
    • The spinners on numeric textboxes will show "+1" and "-1" or whatever value you define for incrementing.
  • The spinners on numeric textboxes no longer use absolute positioning, which was causing users to call VAM_MoveSpinners. It now uses a table that has style=display:inline;. It should now correctly position without you calling VAM_MoveSpinners. However, still use VAM_MoveSpinners if you show or hide the textbox to show and hide the spinners. SIDE EFFECT: absolute positioning always positioned the spinners to the right, even when there wasn't any screen space. inline positioning will wrap the spinners below if they don't fit on the screen. Right to left text will also position the spinners to the left now.
  • The CombinedErrorMessages control has a new property, ShowFirstMsgOnly. While the CombinedErrorMessages control is designed to show several validators error messages simultaneously, some developers believe its easier for their users to see just one error message at a time. When you set this property to true, only the first Validator that is invalid will show its error message. As that one is fixed, the CombinedErrorMessages control will show the next Validator that is invalid.
  • The CalculationController.DecimalPlaces property used to offer 1-4 decimal places. Now it offers 1-10 decimal places.
  • The CalculationController offers the ExtraControlsToRunThisAction property (like most of the other controls) so you can have other controls fire the calculation.
  • PeterBlum.VAM.TrueBrowser.Customize is a new delegate that is called when a new UserAgent is detected. It lets you customize the properties of the TrueBrowser object for that UserAgent. This way, you can introduce support for new browsers more easily.
  • The <ThirdPartyControls> section now can define a function that handles the appearance when there is an error. It is the <SetErrorStyleScript> tag.
  • The detection of javascript feature was only setup if you had at least one validator on the page. Now it is setup if you have at least one VAM control with client-side support, such as a VAM TextBox or FieldStateController.
  • A page with several CalculationControllers and FieldStateControllers could have poor performance as it initializes. The speed has been dramatically improved.
  • The web.config file key "VAM_ScriptVirtualPath" now allows the token "{VERSION}". It replaces the token with the same name of the folder containing the scripts as you find in the product installation. This way, you can have multiple versions of VAM scripts installed without updating the VAM_ScriptVirtualPath key.

Bugs fixed
  • When you have a module license (not the Suite license), you are allowed to use the CustomValidator. If you the only VAM control you use on a form is the CustomValidator, it gave a license error. So long as you had one valid license setup, the error should not have occurred.
  • Using a DataTypeCheckValidator for DataType=Date will not report an error when the year entered is 5 or more digits on the client-side but would report an error on the server side. It now reports an error with 5 or more digit years in both cases.
  • When the DuplicateEntryCondition is used under a MultiConditionValidator or CountTrueConditionValidator, a NullReferenceException occurred.
  • When DecimalTextBox uses a number in ValueWhenBlank and TrailZeroDecimalPlaces=0, the spinners did not work so long as the textbox matches ValueWhenBlank.
  • IE for Windows 5.0 would report a javascript error when attempting to show an alert with an error message. This is due to a bug in the browser's regular expression parser that does not accept an expression designed to find an HTML tag in the error message so those tags can be stripped out. This fix leaves the HTML tags in place when the alert is shown on the IE/Win 5.0 browser.
  • CalculationController generated a javascript error when using the ConstantCalcItem object with a CultureInfo whose NumericDecimalSeparator is not a period character.
  • CalculationController generated a runtime exception "The Owner property has not been assigned to a control which establishes a NamingContainer used to find other controls." when you added a CalcItem object programmatically in certain cases.
  • CalculationController did not add the ".0" to a decimal value displayed in a label when that value is a whole number. This was only a server side problem, based on using the AutoShowValue property. So a value of 2.0 would appear as "2" when it should appear as "2.0".
  • CalculationController using a ConditionCalcItem whose ExpressionFalse property is empty will cause a javascript error.
  • When using Interactive Hints to show validation errors in the hint, if a MultiConditionValidator supplied an error, there would be multiple copies of the same error message shown in the hint.
  • Intrasoft WebCombo 3.0 interfered with client-side validation when submitting. If there was a validation error, the page would still submit. A code change to VAM allows WebCombo's scripts to notice that VAM has requested the page not to be submitted.
  • If you set a LinkButton to Enabled=false, some of the client-side code still runs. Specifically, validation and disabling buttons for submit (DisableOnSubmit property). This is because IE does not actually stop the code from running on a disabled linkbutton. Mozilla doesn't even support the Enabled=false setting, leaving the linkbutton looking enabled and running the validation/disable code but not submitting the page. Defensive code has been added to avoid validating and disabling on submit when you click on a disabled LinkButton either on IE and Mozilla.
  • Using the VAM Button or LinkButton with DisableOnSubmit=true and CausesValidation=false, a click on the Button did not disable itself or any of the other disabled controls.
  • When using PeterBlum.VAM.Globals.Page.TextHiliteFieldsCssClass and the validator has EnabledClientScript=false, if the TextBox being validated has CssClass="", the fields that are affected by TextHiliteFieldsCssClass will get stuck in their "error" style after the error is fixed.

ASP.NET 2.0 Issues Resolved
  • When the Group property uses the special symbol "+", it did not work with client side validation. There was a format change of the value of any control's UniqueID property that broke a regular expression being used to evaluate the group property.
  • When using the CalculationController and you programmatically add a NumericTextBoxCalcItem to the Expressions property with its TextBoxID property assigned, it would throw a NullReferenceException.
  • Textboxes that have TabOnEnterKey=true did not tab on the enter key press when MaxLength is 0.