Eu fiz algumas pesquisas sobre isso, e encontrei várias respostas parciais, porém nada que me dê aquela impressão calorosa "esta é a maneira certa de fazer isso". Para responder à reclamação que ocorre com mais frequência contra esta pergunta: "as caixas de seleção podem ter dois estados legítimos - marcada e desmarcada", esta é uma caixa de seleção "Aceito os termos e condições ..." que deve ser marcada para concluir um registro, portanto, marcar a caixa é necessária do ponto de vista da lógica de negócios.
Forneça fragmentos de código prontos para cortar e colar completos com sua resposta! Eu sei que há várias peças para isso - o CustomValidator (presumivelmente), o code-behind, algum javascript e possivelmente uma verificação para IsValid, e a parte frustrante para mim é que em cada exemplo que vi, um desses peças estão faltando!