none
condição correta JavaScript RRS feed

  • Pergunta

  • Uso VS2010, C#, aspnet4, javascript

    Nesse exemplo tento validar o campo cnpj apenas se tiver preenchido, mas mesmo eu deixando vazio ele retorna "CNPJ inválido"

     var TextCnpjValue = $('#<%= TextCnpj.ClientID %>').val();

    if (TextCnpjValue !== "" || TextCnpjValue !== null) {
                   if (!ValidaCNPJ('TextCnpj')) {
                       alert("CNPJ invalido!"); return false;
                   }
               }

    quinta-feira, 19 de abril de 2012 11:05

Respostas

  • Qual o código desse método ValidaCNPJ()? ele retorna um bool e Dentro dele você usa alguma expressao regular para validar o cnpj?

    Eu fiz um exemplo mais simples:

    <asp:ScriptManager ID="scrpt" runat="server">
            <Scripts>
                <asp:ScriptReference Path="~/Scripts/jquery-1.4.1.js" />
            </Scripts>
        </asp:ScriptManager>
        <script type="text/javascript">
            $(document).ready(function () {
                $(".btn").click(function () {
                    var txt = $(".txt").val();
                    if (txt != "") {
                        alert("invalido");
                    }
                });
            });
        </script>
        <asp:TextBox ID="txtCnpj" CssClass="txt" runat="server"></asp:TextBox>
        <input type="button" name="btnIn" value="Ok" class="btn" />

    • Marcado como Resposta Álvaro Luiz quinta-feira, 19 de abril de 2012 14:14
    quinta-feira, 19 de abril de 2012 13:59
  • Olá Daniel resolvi usando assim, porque estou trabalhando com .mask 

     $("[id$='TextCnpj']").mask("99.999.999/9999-99");

    ...

    var TextCnpjValue = $('#<%= TextCnpj.ClientID %>').val();

    ...

    if (TextCnpjValue.length == 18) {

                    if (!ValidaCNPJ('TextCnpj')) {
                        alert('CNPJ invalido!'); return false;
                    }
                }

    • Marcado como Resposta Álvaro Luiz quinta-feira, 19 de abril de 2012 14:14
    quinta-feira, 19 de abril de 2012 14:14

Todas as Respostas

  • Bom dia,

    Então eu dei uma olhada ai no seu código e está correto mas com uma observação.

    Quando você obtem o valor do txtbox utilizando o método val() ele vai retornar sempre uma string com valor ("") se não estiver preenchido e não null, por isso sempre que ele cair nessa validação vai passar e efetuar o restante do código.

    Sugiro que você retire a condição verificando que seja null.

    Abraço!

    quinta-feira, 19 de abril de 2012 13:05
  • Olá Daniel, tentei assim:

     var TextCnpjValue = $('#<%= TextCnpj.ClientID %>').val();

    if (TextCnpjValue !== "") {
                   if (!ValidaCNPJ('TextCnpj')) {
                       alert("CNPJ invalido!"); return false;
                   }
               }

    Mas tambem nao funcionaou, a condição passa

    quinta-feira, 19 de abril de 2012 13:40
  • Qual o código desse método ValidaCNPJ()? ele retorna um bool e Dentro dele você usa alguma expressao regular para validar o cnpj?

    Eu fiz um exemplo mais simples:

    <asp:ScriptManager ID="scrpt" runat="server">
            <Scripts>
                <asp:ScriptReference Path="~/Scripts/jquery-1.4.1.js" />
            </Scripts>
        </asp:ScriptManager>
        <script type="text/javascript">
            $(document).ready(function () {
                $(".btn").click(function () {
                    var txt = $(".txt").val();
                    if (txt != "") {
                        alert("invalido");
                    }
                });
            });
        </script>
        <asp:TextBox ID="txtCnpj" CssClass="txt" runat="server"></asp:TextBox>
        <input type="button" name="btnIn" value="Ok" class="btn" />

    • Marcado como Resposta Álvaro Luiz quinta-feira, 19 de abril de 2012 14:14
    quinta-feira, 19 de abril de 2012 13:59
  • Olá Daniel resolvi usando assim, porque estou trabalhando com .mask 

     $("[id$='TextCnpj']").mask("99.999.999/9999-99");

    ...

    var TextCnpjValue = $('#<%= TextCnpj.ClientID %>').val();

    ...

    if (TextCnpjValue.length == 18) {

                    if (!ValidaCNPJ('TextCnpj')) {
                        alert('CNPJ invalido!'); return false;
                    }
                }

    • Marcado como Resposta Álvaro Luiz quinta-feira, 19 de abril de 2012 14:14
    quinta-feira, 19 de abril de 2012 14:14