My current personal project
I am learning Joomla 1.5 now. The best way to learn it is to use it. So, I am re-building my website www.michaellleung.info in Joomla 1.5
WordPress 2.6.5
http://wordpress.org/development/2008/11/wordpress-265/
Wordpress 2.7 finial version has not released yet. But 2.6.5 has come
Joomla HTML Form
I found Joomla 1.5 does not allow you to add custom html form. I have tried sourcer and blank module. The blank module can create module box with custom html form at top of the page. But it can allow me to add the custom html form into an article. Anyway, that is simple and good, worth to try:
http://extensions.joomla.org/component/option,com_mtree/task,viewlink/link_id,3668/Itemid,35/
I have nearly reaching the sucessful point. I went to configuration.php and changed
var $editor = 'none'; The form is created, but action attribute is cut out.
Finally, I put all code into a html file and upload to the server. A menu wrapper is created to grab the URL. That is a kind of work around.
Regular Expression Validation
I like to use regular expression validation. That is simple.
You only need to use:
Code
using System.Text.RegularExpressions |
For the numeric value validation:
Code
Regex regex = new Regex(@"^[0-9]*$"); | |
if (!regex.IsMatch(textBox1.Text)) | |
{ | |
MessageBox.Show("Invalid value, integer only!"); | |
} |
Use tryparse if that is possible or have a validation
I faced a number of error for parsing a string into int. In most of cases, there is a validation missing.
Code
If (IsNumeric(str)) | |
{ | |
int i =0; | |
Int32.TryParse(str,out i); | |
} |
You can use regex inside IsNumber or use foreach loop to check whether each character is numberic.
BUT NEVER NEVER DO LIKE THIS:
Code
try | |
{ | |
int i= Int32.Parse(i); | |
} | |
catch(FormatException) | |
{ | |
// Error Hanlding | |
} |
Try-catch is an expensive operation!!!!!!!!
Secondly, I like to use TryParse even in the case, the progam can tolrate invalid value. TryParse can allow the logic to continue execution. I hate some things like stack track on the screen.
