Como validar os campos antes de executar commandLink com jquery

Tenho a seguinte pagina com validação dos campos com jquery.

         <script type="text/javascript">



    $(document).ready(function () {






        $("#sms").validate({
            rules: {
                'sms:ddd': {
                    required: true,
                    minlength: 2,
                    maxlength: 2,
                    number: true

                },
                'sms:telefone': {
                    required: true,
                    minlength: 8,
                    maxlength: 9,
                    number: true
                },
                'sms:mensagem': {
                    required: true,
                    minlength: 1,
                    maxlength: 160

                },
            },
            'sms:messages': {
                ddd: {
                    required: "O DDD nao pode ser nulo",
                    minlength: "Deve conter no minimo 2 digitos",
                    maxlength: "Deve conter no minimo 2 digitos",
                    number: "Digite Apenas digitos numericos"
                },
                'sms:telefone': {
                    required: "O DDD nao pode ser nulo",
                    minlength: "Deve conter no minimo 8 digitos",
                    maxlength: "Deve conter no minimo 9 digitos",
                    number: "Digite Apenas digitos numericos"
                },
                'sms:mensagem': {
                    required: "A mensagem não pode ser vazia",
                    minlength: "Deve conter pelo menos 1 caracter",
                    maxlength: "Numero maximo de caracter e 160"
                }
            }

        });






    });






</script>

A validação esta funcionando perfeitamente, e logo abaixo do form tenho este comando que faz o envio dos parametros do form.

        <h:commandLink id="enviar" value="Enviar Mensagem !" action="#{smsExpressController.enviar()}"/>

Porem se rodar o projeto e ir para a pagina e ir direto no
comandlink ele executa e preenche como null, como posso fazer para que ao
clickar diretamente no camandlink sem preencher os campos sera emitido
uma mensagem por exemplo: Por favor preencha os campos acima antes de
enviar