feat: NotOccupiedCity constraint

This commit is contained in:
Hide_D committed 2023-08-05 07:59:26 +00:00
1 parent 895b134cd0
commit eccd883edc
2 files changed
+41

No files matched your search

@@ -156,6 +156,10 @@ class ConstraintHelper{
return [__FUNCTION__];
}
static function NotOccupiedCity():array{
return [__FUNCTION__];
}
static function NotOccupiedDestCity():array{
return [__FUNCTION__];
}
+37
View File
@@ -0,0 +1,37 @@
<?php
namespace sammo\Constraint;
class NotOccupiedCity extends Constraint{
const REQ_VALUES = Constraint::REQ_GENERAL|Constraint::REQ_CITY;
public function checkInputValues(bool $throwExeception=true):bool{
if(!parent::checkInputValues($throwExeception) && !$throwExeception){
return false;
}
if(!key_exists('nation', $this->general)){
if(!$throwExeception){return false; }
throw new \InvalidArgumentException("require nation in general");
}
if(!key_exists('nation', $this->city)){
if(!$throwExeception){return false; }
throw new \InvalidArgumentException("require nation in city");
}
return true;
}
public function test():bool{
$this->checkInputValues();
$this->tested = true;
if($this->city['nation'] != $this->general['nation']){
return true;
}
$this->reason = "아국입니다.";
return false;
}
}