@@ -437,8 +437,6 @@ public function neqFieldValidator($val, string $compareField): bool
437437 return $ compareField && ($ val !== $ this ->getByPath ($ compareField ));
438438 }
439439
440- // TODO: ltField, lteField
441-
442440 /**
443441 * 字段值比较:当前字段值 要小于 给定字段的值
444442 * @param string|int $val
@@ -447,9 +445,13 @@ public function neqFieldValidator($val, string $compareField): bool
447445 */
448446 public function ltFieldValidator ($ val , string $ compareField ): bool
449447 {
450- $ minVal = $ this ->getByPath ($ compareField );
448+ $ maxVal = $ this ->getByPath ($ compareField );
451449
452- return Validators::gt ($ val , $ minVal );
450+ if ($ maxVal === null ) {
451+ return false ;
452+ }
453+
454+ return Validators::lt ($ val , $ maxVal );
453455 }
454456
455457 /**
@@ -460,9 +462,13 @@ public function ltFieldValidator($val, string $compareField): bool
460462 */
461463 public function lteFieldValidator ($ val , string $ compareField ): bool
462464 {
463- $ minVal = $ this ->getByPath ($ compareField );
465+ $ maxVal = $ this ->getByPath ($ compareField );
464466
465- return Validators::gte ($ val , $ minVal );
467+ if ($ maxVal === null ) {
468+ return false ;
469+ }
470+
471+ return Validators::lte ($ val , $ maxVal );
466472 }
467473
468474 /**
@@ -475,6 +481,10 @@ public function gtFieldValidator($val, string $compareField): bool
475481 {
476482 $ minVal = $ this ->getByPath ($ compareField );
477483
484+ if ($ minVal === null ) {
485+ return false ;
486+ }
487+
478488 return Validators::gt ($ val , $ minVal );
479489 }
480490
@@ -488,6 +498,10 @@ public function gteFieldValidator($val, string $compareField): bool
488498 {
489499 $ minVal = $ this ->getByPath ($ compareField );
490500
501+ if ($ minVal === null ) {
502+ return false ;
503+ }
504+
491505 return Validators::gte ($ val , $ minVal );
492506 }
493507
0 commit comments