Validation inside controller

because I allow the user to add new columns to a model

in 99.9% of cases you should not modify domain model at runtime.
.1% reserved for barely realistic approach, I never heard about.
would you explain a bit what is the problem you trying to solve that