php - Form field length validation in phpmailer -


i want validate form fields minimum , maximum length.

i'm validating if if they're empty or if email address invalid. want add additional length requirements each field (min. length , max. length). best practice this?

excerpt process.php file:

require_once('includes/phpmailer-config.php'); require_once('includes/phpmailer/class.phpmailer.php');  // other stuff here  // validate each form field if (empty($name)) {     $errors['name'] = mia_name;    // error message missing name } if (empty($email)) {     $errors['email'] = mia_addr;   // error message missing email address } elseif (!(filter_var($email, filter_validate_email))) {     $errors['email'] = inv_addr;   // error message invalid email address } if (empty($message)) {     $errors['message'] = mia_mesg; // error message missing message } 

excerpt phpmailer-config.php file:

// other stuff here  define ('mia_name', 'a full name required.');       // error missing name define ('lg_name',  {5,50}');                          // min. length: 5, max. length: 50 define ('ts_name',  'name short.');             // error name short  define ('tl_name',  'name long.');              // error name long  define ('mia_addr', 'an email address required.');  // error missing email address define ('lg_addr',  {8,50}');                          // min. length: 8, max. length: 50 define ('ts_addr',  'email address short.');    // error email short  define ('tl_addr',  'email address long.');     // error email long define ('inv_addr', 'we need valid email address.'); // error invalid email address  define ('mia_mesg', 'a message required.');         // error message missing message define ('lg_mesg',  {20,7500}');                       // min. length: 20, max. length: 7500 define ('ts_mesg',  'message short.');          // error message short  define ('tl_mesg',  'message long.');           // error message long 






edit: here's ended using, amal's answer:

excerpt phpmailer-config.php:

define ('mia_name', 'a full name required.');       // error missing name define ('min_name', 5);                                // min. length name  define ('max_name', 50);                               // max. length name define ('ts_name',  'name short.');             // error name short  define ('tl_name',  'name long.');              // error name long  define ('mia_addr', 'an email address required.');  // error missing email address define ('min_addr', 8);                                // min. length email address define ('max_addr', 50);                               // max. length email address define ('ts_addr',  'email address short.');    // error email short  define ('tl_addr',  'email address long.');     // error email long define ('inv_addr', 'we need valid email address.'); // error invalid email address  define ('mia_mesg', 'a message required.');         // error message missing message define ('min_mesg', 20);                               // min. length message define ('max_mesg', 7500);                             // max. length message define ('ts_mesg',  'message short.');          // error message short  define ('tl_mesg',  'message long.');           // error message long 

excerpt process.php:

// validate each form field if (empty($name)) {     $errors['name'] = mia_name; }    // missing name elseif (strlen(trim($_post['name'])) < min_name ) {     $errors['name'] = ts_name; }     // name short elseif (strlen(trim($_post['name'])) > max_name ) {     $errors['name'] = tl_name; }     // name long  if (empty($email)) {     $errors['email'] = mia_addr; }   // missing email address elseif (strlen(trim($_post['email'])) < min_addr ) {     $errors['email'] = ts_addr; }    // email short elseif (strlen(trim($_post['email'])) > max_addr ) {     $errors['email'] = tl_addr; }    // email long elseif (!(filter_var($email, filter_validate_email))) {     $errors['email'] = inv_addr; }   // invalid email address  if (empty($message)) {     $errors['message'] = mia_mesg; } // missing message elseif (strlen(trim($_post['message'])) < min_mesg ) {     $errors['message'] = ts_mesg; }  // message short elseif (strlen(trim($_post['message'])) > max_mesg ) {     $errors['message'] = tl_mesg; }  // message long 

in html5, can use pattern attribute, so:

<input pattern=".{5,25}" title="input 5 25 characters"> 

of course, isn't secure. you'll need validate inputs server-side, too.

you can use strlen() length of input value, , use if conditional statements check if they're within pre-defined length range.

$length = strlen(trim($_post['name'])); if ( $length >= 5 && $length <= 25) {     # code... } 

integrating current code, it'd like:

if (empty($name)) {     $errors['name'] = mia_name;    // error message missing name }  if (strlen(trim($_post['name'])) >= 5) {     # code ... } elseif (strlen(trim($_post['name'])) <= 25) {     # code ... }  if (empty($email)) {     $errors['email'] = mia_addr;   // error message missing email address } elseif (!(filter_var($email, filter_validate_email))) {     $errors['email'] = inv_addr;   // error message invalid email address }  if (empty($message)) {     $errors['message'] = mia_mesg; // error message missing message } 

hope helps!


Comments

Popular posts from this blog

Unable to remove the www from url on https using .htaccess -