barnstormer Posted February 24, 2008 Share Posted February 24, 2008 I have a form that limits what characters go in each field, but only a few fields are actually required. If nothing is filled in the fields that are not required then the validation considers them invalid. Is there something I can add to accept an empty field? Here's a sample of some of the code: if (!empty($_POST['Submit'])) { // firstname if (!eregi("^([0-9a-z'\.\ -])+$", $_POST['firstname'])){ $arrErrors['firstname'] = 'Invalid ';} if ($_POST['firstname']=='') $arrErrors['firstname'] = 'Please provide '; // lastname if (!eregi("^([0-9a-z'\.\ -])+$", $_POST['lastname'])){ $arrErrors['lastname'] = 'Invalid ';} if ($_POST['lastname']=='') $arrErrors['lastname'] = 'Please provide '; // address1 if (!eregi("^([0-9a-z'#/\.\ -])+$", $_POST['address1'])){ $arrErrors['address1'] = 'Invalid ';} // address2 if (!eregi("^([0-9a-z'#/\.\ -])+$", $_POST['address2'])){ $arrErrors['address2'] = 'Invalid ';} Any help would be greatly appriciated. I need it bad. Aaron Link to comment https://forums.phpfreaks.com/topic/92740-form-validation-issue/ Share on other sites More sharing options...
Orio Posted February 24, 2008 Share Posted February 24, 2008 Every time you want to allow empty strings too, you need to replace the + with * in your regular expression. "^([0-9a-z'#/\.\ -])*$" Accepts empty strings "^([0-9a-z'#/\.\ -])+$" Doesn't accept empty strings Orio. Link to comment https://forums.phpfreaks.com/topic/92740-form-validation-issue/#findComment-475221 Share on other sites More sharing options...
barnstormer Posted February 24, 2008 Author Share Posted February 24, 2008 That works! Thank you so much, you're a life saver! And a genius! Aaron Link to comment https://forums.phpfreaks.com/topic/92740-form-validation-issue/#findComment-475231 Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.