Depois de passar algum tempo para acertar esse problema, consegui encontrar a causa raiz do problema.
O problema está relacionado ao novo modo de validação discreto do .NET 4.5. Para que isso funcione corretamente, o JQuery 2.0 é necessário. Isso é padrão no .NET 4.5. No entanto, a versão jQuery incorporada em RadControls (até pelo menos a versão 2013q3) é v1.9.1 (ver aqui). Como resultado, o CustomValidator
não funciona mais corretamente.
Existem duas alternativas para isso - eu só tentei o primeiro com sucesso:
Desative o modo de validação discreto. Para fazer isso, você precisa incluir a seguinte linha no
<appSettings>
Seção doweb.config
Arquivo:<add key="ValidationSettings:UnobtrusiveValidationMode" value="None" />
A desvantagem: o modo de validação discreto foi projetado para fazer com que os novos recursos HTML5, a fim de eliminar o código JavaScript gerado para realizar as validações, resultando em páginas mais leves (consulte aqui). Ao desativá -lo, você não está usando esse recurso.
Escolha não usar a versão incorporada do jQuery para RadControls (ou seja, v1.9.1) e use o fornecido pelo .NET 4.5 (ou seja, v2.0).
A desvantagem: o problema aqui é que os RadControls foram testados usando a versão incorporada do jQuery e você pode ter problemas. Para desativar a versão incorporada do jQuery, consulte esse link
Espero que isso ajude a próxima pessoa que tropeçará no mesmo problema.