ASP.NET Data Validation and Data Entry Controls
If there's one thing I hate about building Web Forms it's data validation and custom data entry controls (think date pickers, etc.). ASP.NET provides some nice controls to perform validation, and has controls in the ASP.NET AJAX Toolkit that also help, but in many cases you end up writing custom JavaScript or server-side code or may even build custom controls.
I've been playing around with a new set of controls from Peter Blum that make the process of securing and validating a page a much more pleasant process. The controls greatly simplify the data entry and validation process and help eliminate holes that less than honorable people could try to penetrate.
Peter's Data Entry Suite contains over 70 ASP.NET web controls designed around data entry. The controls improve data entry and communication with the user by covering these aspects of data entry forms (taken from the Website):
- Data entry controls – 11 greatly enhanced textboxes, including numeric, date and time. Plus the unique MultiSegmentDataEntry control, a Calendar, MonthYearPicker, and TimePicker.
- Validation – A powerful replacement to the ASP.NET validators, providing 27 validator controls. It overcomes the many limitations of the native controls, improving how you assist your users and eliminating most custom validation code.
- Submitting the page – Enhanced buttons and ways to extend other submit controls with features like confirm messages, disable on submit, and enabling after the form is changed.
- Interactive pages – Numerous controls and tools that respond as the user clicks or types, much like desktop applications. Includes interactive hints, enhanced tooltips, on-screen calculations, a text counter, and more.
- Input Security – Best practice security against SQL Injection and Cross Site Scripting attacks.
Cool stuff that can really save a lot of time and help to ensure that a site is secure. It's pretty scary what a good hacker can do to a Website using just a simple textbox. Check out http://www.peterblum.com/des/home.aspx if you're interested in more information.