Bug #38980
ActionController: behavior of required arguments is not consistent
| Status: | New | Start date: | 2012-07-16 | |
|---|---|---|---|---|
| Priority: | Must have | Due date: | ||
| Assigned To: | - | % Done: | 0% |
|
| Category: | Validation | |||
| Target version: | - | |||
| PHP Version: | Complexity: | |||
| Has patch: | No | Affected Flow version: | (any) |
Description
consider the following action controller case:
1 /**
2 * @param string $term
3 * @FLOW3\Validate("$term", type="NotEmpty")
4 * @return void
5 */
6 public function indexAction($term) {
7 $this->view->assign('term', $term);
8 }
the following happens:
- calling
acme.package/search?term=fooeverything's fine - calling
acme.package/search?term=fine, too, the validator kicks in and the output isAn error occurred while trying to call Acme\Package\Controller\SearchController->indexAction(). Error for term: This property is required. - calling
acme.package/searchan Exception occurs, telling #1298012500: Required argument "term" is not set. But this exception makes one unable to catch this case smoothly with the same treatment that'd apply for an empty, but set term.
Side note: if defining $term = NULL in the method header, nothing at all happens when providing no term argument.
Am I expecting something wrong or is there a bug / unintended behavior?