Here's a use case:
I have an argument that changes a field.
So the argument's validate() should check that the field is actually present, like this:

  function validate() {
    if (!isset($this->view->display_handler->handlers['field']['MYFIELD'])) {
      // Where's my field?
    }
  }

This is great!
However, here's where it breaks down:

Suppose I add the arg and the field to my default display: that's ok. Validation is checked and passes.
Now I add a page view, and there I override the fields and remove the field.
The page display is now broken, because it inherits the argument but doesn't have the field.
But validation passes, because the argument it has (inherited from default display) isn't getting checked.

Comments

joachim’s picture

Status: Active » Needs review
StatusFileSize
new1.14 KB
merlinofchaos’s picture

Status: Needs review » Fixed

Ok, makes sense. Committed!

Status: Fixed » Closed (fixed)

Automatically closed -- issue fixed for 2 weeks with no activity.