所以我有一個非常基本的OOP表單驗證器類。但我很難實現max_length和min_length規則。我的規則像這樣rule1 | rule2等工作,所以|規則之間分開。我試圖做到這一點| max_length,60 | min_length,10。 `OOP表單驗證器實現長度規則
public function validate($field,$value,$rules)
{
$field = ucfirst($field);
$rules = explode('|',$rules);
foreach($rules as $rule)
{
switch($rule)
{
case 'required':
$this->shouldBeRequired($field, $value);
break;
case 'string':
$this->shouldBeString($field,$value);
break;
case 'email':
$this->shouldBeEmail($field, $value);
break;
case 'number':
$this->shouldBeNumber($field,$value);
default:
throw new ErrorException("$rule doesn't exist");
}
}
}`
,我不知道如何添加MAX_LENGTH和MIN_LENGTH情況下
它完美的作品十分感謝。 –
將使用最小長度,3 |最大長度,50?我的意思是我們只有$ ruleParts [1]。 –
每個規則被分成它自己的數組:'ruleParts [0]'是規則名,'ruleParts [1]'是每個規則的第一個參數,所以是的,它會工作。您現在甚至可以爲每個規則使用多於1個參數,例如'size,2,6'。 'ruleParts [0]'是'size','ruleParts [1]'是'2','ruleParts [2]'是'6', – Psi