Skip to content

DataValidator Does Not Handle All Types of List #4206

Closed
@oleibman

Description

@oleibman

This is:

- [x] a bug report
- [ ] a feature request
- [ ] **not** a usage question (ask them on https://stackoverflow.com/questions/tagged/phpspreadsheet or https://gitter.im/PHPOffice/PhpSpreadsheet)

What is the expected behavior?

DataValidator::isValid calls DataValidator::isValueInList when appropriate. The expected behavior is that true/false will be returned depending on the cell's value vis-à-vis the list..

What is the current behavior?

The method expects the list to be either a comma-delimited string or a cell range. With the merge of PR #4203, the list can also be the result of a spill operator, which is implemented as a call to the ANCHORARRAY function. The validator function will not recognize this, and will therefore always return "true" in this situation. It also appears that a named range might be usable as a validator list, and that also won't be recognized.

What features do you think are causing the issue

  • Reader
  • Writer
  • Styles
  • Data Validations
  • Formula Calculations
  • Charts
  • AutoFilter
  • Form Elements

Does an issue affect all spreadsheet file formats? If not, which formats are affected?

The spreadsheet will work properly. It is only validation within PhpSpreadsheet itself that might not yield the correct answer.

Which versions of PhpSpreadsheet and PHP are affected?

All.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions