My question is firstly, how would I go about validating it so at least 1 option is required, I've seen a couple of methods but they don't seem to work for me... secondly - how could I show which is checked based off the old values?
I think this should work, since if all of them are empty, classifications doesn't get send at all. And since it's required to be an array, at least one needs to be set.
And as for the the old input, you could use (for example on the Voluntary, Community and Social)