protected function validateAmong($field, $val, array $validOptions, $required = true)
    {
        if ($val !== null) {
            $result = in_array($val, $validOptions, true);
        } else {
            $result = !$required;
        }

        if ($result) {
            $this->clearError($field, 'validAmongOptions');
            return true;
        } else {
            $this->setError($field, 'validAmongOptions', [
                "title" => "Invalid Value for Field `$field`",
                "detail" => "Field `$field` must be one of the accepted options: `".implode("`, `", $validOptions)."`"
            ]);
            return false;
        }
    }