From a163e18715e484397c1466bfe7c7526d0cec1e3b Mon Sep 17 00:00:00 2001 From: goujonpa <goujonpa@gmail.com> Date: Wed, 18 Jun 2014 02:06:35 +0200 Subject: [PATCH] phonefield --- class/boolfield.php | 7 ++++--- class/field.php | 14 +++++++++----- class/phonefield.php | 28 ++++++++++++++++++++++++++++ 3 files changed, 41 insertions(+), 8 deletions(-) create mode 100644 class/phonefield.php diff --git a/class/boolfield.php b/class/boolfield.php index c1407b9..fa9c8a8 100644 --- a/class/boolfield.php +++ b/class/boolfield.php @@ -13,9 +13,10 @@ class BoolField extends Field public function validate() { if (isset($_POST[$this->name])) - $this->value = $_POST[$this->name]; - else - $this->value = NULL; + if ($_POST[$this->name] == 'on') + $this->value = true; + else + $this->value = false; return true; } } diff --git a/class/field.php b/class/field.php index 283fdbe..1b5016e 100644 --- a/class/field.php +++ b/class/field.php @@ -11,9 +11,9 @@ class Field { public function html() { // Todo, if isset($_POST[$this->name]) && !$this->validate() => Show a error msg explanation for this line. return '<div class="form-group"> - <label for="form'.$this->name.'">'.ucfirst($this->name).'</label> - <input type="text" class="form-control" name="'.$this->name.'" value="'.$this->value.'" > - </div>'; + <label for="form'.$this->name.'">'.ucfirst($this->name).'</label> + <input type="text" class="form-control" name="'.$this->name.'" value="'.$this->value.'" > + </div>'; } /* @@ -21,8 +21,12 @@ class Field { and return false, if data is not valid ! */ public function validate() { - $this->value = $_POST[$this->name]; - return true; + if (isset($_POST[$this->name])) + { + $this->value = $_POST[$this->name]; + return true; + } + return false; } } diff --git a/class/phonefield.php b/class/phonefield.php new file mode 100644 index 0000000..33e2e22 --- /dev/null +++ b/class/phonefield.php @@ -0,0 +1,28 @@ +<? + +class PhoneField extends Field +{ + public function html() { + $html = '<div class = "checkbox"> + <label for = "form'.$this->name.'"> + <input type = "tel" name = "'.$this->name.'" value ="'.$this->value.'"> '.ucfirst($this->name).' + </label> + </div>'; + return $html; + } + + public function validate() + { + + if (isset($_POST[$this->name])) + { + $_POST[$this->name] = htmlspecialchars($_POST[$this->name]); + if (preg_match("#^0[1-68]([-. ]?[0-9]{2}){4}$#", $_POST[$this->name])) + { + $this->value = $_POST[$this->name]; + return true; + } + return false; + } + +} -- GitLab