jeremychia opened a new issue, #74336: URL: https://github.com/apache/airflow/issues/74336
### Description allow a dag to validate params against each other in the trigger form, so a bad combination blocks the trigger before a run is created. today each `Param` carries its own json schema, so the form can only check one field at a time. ### Use case/motivation we have a manually triggered dag that takes `data_interval_start` and `data_interval_end` as params. a run where start is on or after end is always wrong. today the only place to catch it is a first task that fails fast. that still creates a failed dag run, and the user only learns about the mistake after clicking trigger and opening the run. what i would like: a dag-level rule over several params, checked when the form is submitted (and on the rest api trigger). if it fails, the form shows the error and no run is created, the same way a per-field `minimum` or `pattern` failure behaves today. two possible shapes, either is fine: 1. a dag-level json schema over the whole params object, so `if`/`then`, `dependentRequired` and similar keywords work. 2. a python callable on the dag that receives the resolved params and raises on an invalid combination. other examples of the same need: "if `env` is `prod` then `dry_run` must be false", or "`end_date` must be after `start_date`". ### Related issues none found. ### Are you willing to submit a PR? - [ ] Yes I am willing to submit a PR! ### Code of Conduct - [x] I agree to follow this project's [Code of Conduct](https://github.com/apache/airflow/blob/main/CODE_OF_CONDUCT.md) -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
