Fix input validation
This commit is contained in:
parent
3a3ad26089
commit
63a448fb49
|
@ -81,7 +81,7 @@ class Input extends Element{
|
||||||
public function alpha(string $value = '') : Input{
|
public function alpha(string $value = '') : Input{
|
||||||
$this->data['type'] = 'text';
|
$this->data['type'] = 'text';
|
||||||
$this->data['title'] = 'Alphabétique';
|
$this->data['title'] = 'Alphabétique';
|
||||||
$this->data['alpha'] = $value;
|
$this->data['alpha'] = $value; //TODO: add parttern
|
||||||
return $this;
|
return $this;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -111,49 +111,46 @@ class Input extends Element{
|
||||||
return $parent;
|
return $parent;
|
||||||
|
|
||||||
if(!empty($data)){
|
if(!empty($data)){
|
||||||
if(isset($this->data['phone'])){
|
if(isset($this->data['phone']) && $this->data['phone'] == true && !preg_match("#^((\+\d{1,3}(-| )?\(?\d\)?(-| )?\d{1,5})|(\(?\d{2,6}\)?))(-| )?(\d{3,4})(-| )?(\d{4})(( x| ext)\d{1,5}){0,1}$#", $data))
|
||||||
if($this->data['phone'] == true && !preg_match("#^((\+\d{1,3}(-| )?\(?\d\)?(-| )?\d{1,5})|(\(?\d{2,6}\)?))(-| )?(\d{3,4})(-| )?(\d{4})(( x| ext)\d{1,5}){0,1}$#", $data))
|
|
||||||
return 'incorrect';
|
return 'incorrect';
|
||||||
}else if(isset($this->data['number'])){
|
|
||||||
if($this->data['number'] == true && !ctype_digit($data))
|
if(isset($this->data['number']) && $this->data['number'] == true && !ctype_digit($data))
|
||||||
return 'non numérique';
|
return 'non numérique';
|
||||||
}else if(isset($this->data['date'])){
|
|
||||||
if($this->data['date'] == true){
|
if(isset($this->data['date']) && $this->data['date'] == true){
|
||||||
$d = \DateTime::createFromFormat('Y-m-d', $data);
|
$d = \DateTime::createFromFormat('Y-m-d', $data);
|
||||||
if(!$d || $d->format('Y-m-d') != $data)
|
if(!$d || $d->format('Y-m-d') != $data)
|
||||||
return 'incorrect';
|
return 'incorrect';
|
||||||
}
|
}
|
||||||
}else if(isset($this->data['time'])){
|
if(isset($this->data['time']) && $this->data['time'] == true){
|
||||||
if($this->data['time'] == true){
|
|
||||||
$t = \DateTime::createFromFormat('H:i', $data);
|
$t = \DateTime::createFromFormat('H:i', $data);
|
||||||
if(!$t || $t->format('H:i') != $data)
|
if(!$t || $t->format('H:i') != $data)
|
||||||
return 'incorrect';
|
return 'incorrect';
|
||||||
}
|
}
|
||||||
}else if(isset($this->data['min'])){
|
if(isset($this->data['min']) && $data < $this->data['min'])
|
||||||
if($data < $this->data['min'])
|
|
||||||
return 'trop petit';
|
return 'trop petit';
|
||||||
}else if(isset($this->data['max'])){
|
|
||||||
if($data > $this->data['max'])
|
if(isset($this->data['max']) && $data > $this->data['max'])
|
||||||
return 'trop grand';
|
return 'trop grand';
|
||||||
}else if(isset($this->data['email'])){
|
|
||||||
if($this->data['email'] == true && !filter_var($data, FILTER_VALIDATE_EMAIL))
|
if(isset($this->data['email']) && $this->data['email'] == true && !filter_var($data, FILTER_VALIDATE_EMAIL))
|
||||||
return 'incorrect';
|
return 'incorrect';
|
||||||
}else if(isset($this->data['minlength'])){
|
|
||||||
if(strlen($data) < $this->data['minlength'])
|
if(isset($this->data['minlength']) && strlen($data) < $this->data['minlength'])
|
||||||
return 'trop court';
|
return 'trop court';
|
||||||
}else if(isset($this->data['maxlength'])){
|
|
||||||
if(strlen($data) > $this->data['maxlength'])
|
if(isset($this->data['maxlength']) && strlen($data) > $this->data['maxlength'])
|
||||||
return 'trop long';
|
return 'trop long';
|
||||||
}else if(isset($this->data['alpha'])){
|
|
||||||
if(!preg_match('#^[\p{L}'.$this->data['alpha'].']*$#', $data))
|
if(isset($this->data['alpha']) && !preg_match('#^[\p{L}'.$this->data['alpha'].']*$#', $data))
|
||||||
return 'non alphabétique';
|
return 'non alphabétique';
|
||||||
}else if(isset($this->data['alphanum'])){
|
|
||||||
if(!preg_match('#^[\p{L}\p{N}'.$this->data['alphanum'].']*$#', $data))
|
if(isset($this->data['alphanum']) && !preg_match('#^[\p{L}\p{N}'.$this->data['alphanum'].']*$#', $data))
|
||||||
return 'non alphanumérique';
|
return 'non alphanumérique';
|
||||||
}else if(isset($this->data['regex'])){
|
|
||||||
if(!preg_match('#'.$this->data['regex'].'#', $data))
|
if(isset($this->data['regex']) && !preg_match('#'.$this->data['regex'].'#', $data))
|
||||||
return 'incorrect';
|
return 'incorrect';
|
||||||
}
|
|
||||||
}
|
}
|
||||||
return $parent;
|
return $parent;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue