Move DNSPattern validation into constructor

That's more consistent with the rest.