Acho que sua regex está falhando na validação em uma string vazia, que nesse caso deve ser válida, pois esse campo não é obrigatório. Por que você não tenta este regex:
/^$|^\d{10}$/
Isso corresponderá a uma string vazia ou 10 dígitos.
/^$|^\d{10}$/