Я должен проверить поле ввода моего API, где значение должно быть целым числом от 1 до 100 или null
или оно даже не задано (не требуется).
Таким образом, моя проверкаправило: 'privacy_status' => "nullable|integer|min:1|max:100",
Это работает нормально, пока я не получу пустую строку в качестве значения.Поскольку проверка Laravel на пустой строке проверяется только в том случае, если поле неявно, все мои другие правила integer, nullable or min, max
игнорируются.
protected function isValidatable($rule, $attribute, $value)
{
return $this->presentOrRuleIsImplicit($rule, $attribute, $value) &&
$this->passesOptionalCheck($attribute) &&
$this->isNotNullIfMarkedAsNullable($attribute, $value) &&
$this->hasNotFailedPreviousRuleIfPresenceRule($rule, $attribute);
}
protected function presentOrRuleIsImplicit($rule, $attribute, $value)
{
if (is_string($value) && trim($value) === '') {
return $this->isImplicit($rule);
}
return $this->validatePresent($attribute, $value) || $this->isImplicit($rule);
}
Есть ли способ проверить это правильно?