Skip to content

Commit 029a5a2

Browse files
str_len data_type added
1 parent 3f49d50 commit 029a5a2

File tree

4 files changed

+60
-23
lines changed

4 files changed

+60
-23
lines changed

README.md

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -140,7 +140,7 @@ public function save(Request $request){
140140
141141
$form->submit([
142142
"string:name" => 'Please enter a name',
143-
"string:name:<:5" => 'Name should be more than five(5) characters',
143+
"str_len:name:<:5" => 'Name should be more than five(5) characters',
144144
"email:email" => 'Please enter a valid email address',
145145
"int:age" => 'Age is required',
146146
"i:age:<:16" => 'Sorry! you must be 16yrs or above to use this site'
@@ -163,6 +163,7 @@ public function save(Request $request){
163163
email |e
164164
bool |b
165165
string |s
166+
str_len |sl
166167
array |a
167168
float |f
168169
int |i
@@ -198,7 +199,7 @@ public function save(Request $request){
198199
```
199200
$form->submit([
200201
"s:name" => 'Please enter a name',
201-
"s:name:<:5" => 'Name should be more than five(5) characters',
202+
"sl:name:<:5" => 'Name should be more than five(5) characters',
202203
"e:email" => 'Please enter a valid email address',
203204
"i:age" => 'Age is required',
204205
"i:age:<:16" => 'Sorry! you must be 16yrs or above to use this site',
@@ -222,7 +223,7 @@ public function save(Request $request){
222223
```
223224
$form->submit([
224225
"s:name" => 'Please enter a name',
225-
"s:name:<:5" => 'Name should be more than five(5) characters',
226+
"sl:name:<:5" => 'Name should be more than five(5) characters',
226227
"e:email" => 'Please enter a valid email address',
227228
"i:age" => 'Age is required',
228229
"i:age:<:16" => 'Sorry! you must be 16yrs or above to use this site',
@@ -246,7 +247,7 @@ public function save(Request $request){
246247
```
247248
$form->submit([
248249
"s:name" => 'Please enter a name',
249-
"s:name:<:5" => 'Name should be more than five(5) characters',
250+
"sl:name:<:5" => 'Name should be more than five(5) characters',
250251
"e:email" => 'Please enter a valid email address',
251252
"i:age" => 'Age is required',
252253
"i:age:<:16" => 'Sorry! you must be 16yrs or above to use this site',
@@ -271,7 +272,7 @@ public function save(Request $request){
271272
```
272273
$form->submit([
273274
"s:name" => 'Please enter a name',
274-
"s:name:<:5" => 'Name should be more than five(5) characters',
275+
"sl:name:<:5" => 'Name should be more than five(5) characters',
275276
"e:email" => 'Please enter a valid email address',
276277
"i:age" => 'Age is required',
277278
"i:age:<:16" => 'Sorry! you must be 16yrs or above to use this site',

src/UltimateValidator.php

Lines changed: 48 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -513,36 +513,72 @@ private function createOperator($flag)
513513
//greater than operator
514514
elseif($flagOperator == '>')
515515
{
516-
$dataString = (float) $this->param[$flag['variable']];
517-
if($dataString > (float) $flagValue){
518-
$this->operator = true;
516+
$dataString = $this->param[$flag['variable']];
517+
// if str_len | sl
518+
if(in_array($flag['data_type'], ['str_len', 'sl'])){
519+
$dataString = strlen($dataString);
520+
if($dataString > (float) $flagValue){
521+
$this->operator = true;
522+
}
523+
}else{
524+
$dataString = (float) $dataString;
525+
if($dataString > (float) $flagValue){
526+
$this->operator = true;
527+
}
519528
}
520529
}
521530

522531
//greater than or equal to operator
523532
elseif($flagOperator == '>=')
524533
{
525-
$dataString = (float) $this->param[$flag['variable']];
526-
if($dataString >= (float) $flagValue){
527-
$this->operator = true;
534+
$dataString = $this->param[$flag['variable']];
535+
// if str_len | sl
536+
if(in_array($flag['data_type'], ['str_len', 'sl'])){
537+
$dataString = strlen($dataString);
538+
if($dataString >= (float) $flagValue){
539+
$this->operator = true;
540+
}
541+
}else{
542+
$dataString = (float) $dataString;
543+
if($dataString >= (float) $flagValue){
544+
$this->operator = true;
545+
}
528546
}
529547
}
530548

531549
//less than operator
532550
elseif($flagOperator == '<')
533551
{
534-
$dataString = (float) $this->param[$flag['variable']];
535-
if($dataString < (float) $flagValue){
536-
$this->operator = true;
552+
$dataString = $this->param[$flag['variable']];
553+
// if str_len | sl
554+
if(in_array($flag['data_type'], ['str_len', 'sl'])){
555+
$dataString = strlen($dataString);
556+
if($dataString < (float) $flagValue){
557+
$this->operator = true;
558+
}
559+
}else{
560+
$dataString = (float) $dataString;
561+
if($dataString < (float) $flagValue){
562+
$this->operator = true;
563+
}
537564
}
538565
}
539566

540567
//less than or equal to operator
541568
elseif($flagOperator == '<=')
542569
{
543-
$dataString = (float) $this->param[$flag['variable']];
544-
if($dataString <= (float) $flagValue){
545-
$this->operator = true;
570+
$dataString = $this->param[$flag['variable']];
571+
// if str_len | sl
572+
if(in_array($flag['data_type'], ['str_len', 'sl'])){
573+
$dataString = strlen($dataString);
574+
if($dataString <= (float) $flagValue){
575+
$this->operator = true;
576+
}
577+
}else{
578+
$dataString = (float) $dataString;
579+
if($dataString <= (float) $flagValue){
580+
$this->operator = true;
581+
}
546582
}
547583
}
548584

test/index_get.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,10 +10,10 @@
1010

1111
$form->submit([
1212
"string:name" => 'Please enter a name',
13-
"s:name:<5" => 'Name should be more than five(5) characters',
13+
"str_len:name:<5" => 'Name should be more than five(5) characters',
1414
"email:email" => 'Please enter a valid email address',
1515
"int:age" => 'Age is required',
16-
"i:age:<16" => 'Sorry! you must be 16yrs or above to use this site',
16+
"int:age:<16" => 'Sorry! you must be 16yrs or above to use this site',
1717
], true)->error(function($response){
1818

1919
//for normal error response only just attach message in var used outside

test/index_post.php

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,10 +7,10 @@
77
$form->flash = ['class' => '', 'msg' => ''];
88

99
$form->submit([
10-
"string:name" => 'Please enter a name',
11-
"s:name:<:5" => 'Name should be more than five(5) characters',
12-
"email:email" => 'Please enter a valid email address',
13-
"int:age" => 'Age is required',
10+
"s:name" => 'Please enter a name',
11+
"sl:name:<:5" => 'Name should be more than five(5) characters',
12+
"e:email" => 'Please enter a valid email address',
13+
"i:age" => 'Age is required',
1414
"i:age:<:16" => 'Sorry! you must be 16yrs or above to use this site',
1515
], false)->error(function($response){
1616

0 commit comments

Comments
 (0)