none
RequiredFieldValidator com Json RRS feed

Respostas

  • tinha visto este exemplo: 
    $("#<%=form1.ClientID%>").validate({
    
                   errorElement: 'span',                
                   rules: {
                       UserName: {
                           required: true,
                           remote: function () {
                               return {
                                   url: "/Default.aspx/IsUserNameAvailable",
                                   type: "POST",
                                   contentType: "application/json; charset=utf-8",
                                   dataType: "json",
                                   data: JSON.stringify({ userName: $('#UserName').val() }),
                                   dataFilter: function (data) {
                                       var msg = JSON.parse(data);
                                       if (msg.hasOwnProperty('d'))
                                           return msg.d;
                                       else
                                           return msg;
                                   }
                               }
                           },
                       },
                       Password: {
                           required: true,
                           minlength: 8,
                       },
                       ConfirmPassword: {
                           required: true,
                           minlength: 8,
                           equalTo: "#Password"
                       }
                   },
                   messages: {
                       UserName: {
                           required: "User name is Required",
                           remote: "This user name is already in use",
                       },
                       Password: {
                           required: "Password is Required",
                           minlength: "Password requires at least 8 characters",
                       },
                       ConfirmPassword: {
                           required: "Confirm password is Required",
                           minlength: "Confirm password requires at least 8 characters",
                           equalTo: "Confirm password must match the Password",
                       }
                   },
                   onkeyup:false,
                   onblur: true,
                   onfocusout: function (element) { $(element).valid() }
     
                    
     
               });

    • Marcado como Resposta MarlonDD quarta-feira, 6 de novembro de 2013 21:04
    • Não Marcado como Resposta MarlonDD quarta-feira, 6 de novembro de 2013 21:04
    • Marcado como Resposta MarlonDD quarta-feira, 6 de novembro de 2013 21:04
    • Não Marcado como Resposta MarlonDD quarta-feira, 6 de novembro de 2013 21:05
    • Marcado como Resposta MarlonDD quinta-feira, 7 de novembro de 2013 00:11
    quarta-feira, 6 de novembro de 2013 20:20

Todas as Respostas

  • Relate mais o seu problema???

    Aonde quer chegar?


    Fúlvio Cezar Canducci Dias

    terça-feira, 5 de novembro de 2013 20:28
  • É o seguinte: tenho um form que ao clicar para cadastrar faz uma chamada Ajax, enviando o objeto json para um WebMethod que grava no banco. Agora preciso validar este form antes de gravar. (O form está utilizando MasterPage). As formas de validação que tive olhando é acionada quando o form é submetido. Mas quando utilizo ajax o form não é submetido. Por isso gostaria de saber alguma forma para disparar a validação no momento que fizer a requisição Ajax. Tentei utilizar o JQuery Validate, mas parece que também é acionado quando submetido.
    quarta-feira, 6 de novembro de 2013 02:39
  • Até fiz um exemplo:

    Funciona assim:

    Se você colocar os dados para um UpdatePanel e dentro tiver Validation (RequiredFieldValidation, etc) ele vai aplicar a validação se passar ele manda a chamada Assincrona!

    Exemplo:

    ASPX

    <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm5.aspx.cs" Inherits="Img.WebForms.WebForm5" %>
    
    <!DOCTYPE html>
    
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head runat="server">
        <title></title>
    </head>
    <body>
        <form id="form1" runat="server">
            <asp:ScriptManager ID="ScriptManager1" runat="server"></asp:ScriptManager>
            <div>
                <asp:UpdatePanel ID="UpdatePanel1" runat="server">
                    <ContentTemplate>
                        <div>
                            <asp:TextBox ID="TxtNome" runat="server" ValidationGroup="EventGrup1"></asp:TextBox>
                            <asp:RequiredFieldValidator ID="RequiredFieldValidatorNome" runat="server" ErrorMessage="Digite o Nome" ControlToValidate="TxtNome" ValidationGroup="EventGrup1"></asp:RequiredFieldValidator>
                        </div>
                        <div>
                            <asp:Button ID="BntEnviar" runat="server" Text="Enviar" ValidationGroup="EventGrup1" OnClick="BntEnviar_Click" />
                        </div>
                        <div>
                            <asp:Label ID="LblResposta" runat="server" Text=""></asp:Label>
                        </div>
                    </ContentTemplate>
                </asp:UpdatePanel>
            </div>
        </form>
    </body>
    </html>


    Código para resgatar

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Web;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    
    namespace Img.WebForms
    {
        public partial class WebForm5 : System.Web.UI.Page
        {
            protected void Page_Load(object sender, EventArgs e)
            {
                if (!IsPostBack)
                {
                }
            }
    
            protected void BntEnviar_Click(object sender, EventArgs e)
            {
                LblResposta.Text = TxtNome.Text;
            }
        }
    }

    Ou seja, quando ele clicar no botão só vai submeter e chamar o Ajax se passar antes na validação!

    Esse é um exemplo!

    Pode se fazer até um Jquery muda um pouco mas, tem a mesma idéia!

    OK!

    Eu acredito que o exemplo que você fez deve ser passando o comando via Jquery  não é ???

    como seria seu código? poste ele!


    Fúlvio Cezar Canducci Dias


    quarta-feira, 6 de novembro de 2013 03:06
  • tinha visto este exemplo: 
    $("#<%=form1.ClientID%>").validate({
    
                   errorElement: 'span',                
                   rules: {
                       UserName: {
                           required: true,
                           remote: function () {
                               return {
                                   url: "/Default.aspx/IsUserNameAvailable",
                                   type: "POST",
                                   contentType: "application/json; charset=utf-8",
                                   dataType: "json",
                                   data: JSON.stringify({ userName: $('#UserName').val() }),
                                   dataFilter: function (data) {
                                       var msg = JSON.parse(data);
                                       if (msg.hasOwnProperty('d'))
                                           return msg.d;
                                       else
                                           return msg;
                                   }
                               }
                           },
                       },
                       Password: {
                           required: true,
                           minlength: 8,
                       },
                       ConfirmPassword: {
                           required: true,
                           minlength: 8,
                           equalTo: "#Password"
                       }
                   },
                   messages: {
                       UserName: {
                           required: "User name is Required",
                           remote: "This user name is already in use",
                       },
                       Password: {
                           required: "Password is Required",
                           minlength: "Password requires at least 8 characters",
                       },
                       ConfirmPassword: {
                           required: "Confirm password is Required",
                           minlength: "Confirm password requires at least 8 characters",
                           equalTo: "Confirm password must match the Password",
                       }
                   },
                   onkeyup:false,
                   onblur: true,
                   onfocusout: function (element) { $(element).valid() }
     
                    
     
               });

    • Marcado como Resposta MarlonDD quarta-feira, 6 de novembro de 2013 21:04
    • Não Marcado como Resposta MarlonDD quarta-feira, 6 de novembro de 2013 21:04
    • Marcado como Resposta MarlonDD quarta-feira, 6 de novembro de 2013 21:04
    • Não Marcado como Resposta MarlonDD quarta-feira, 6 de novembro de 2013 21:05
    • Marcado como Resposta MarlonDD quinta-feira, 7 de novembro de 2013 00:11
    quarta-feira, 6 de novembro de 2013 20:20
  • Então você viu um exemplo com JQuery!

    Mas na ferramenta tem o Validation!!! use-o é mais prático!



    Fúlvio Cezar Canducci Dias

    quarta-feira, 6 de novembro de 2013 21:56
  • Consegui, funcionou com este exemplo em JQuery, estava colocando em função separada sendo acionada pelo botão, daí coloquei no $(document).ready, funcionou, vacilo mesmo. Mas entendi o seu exemplo, é mais rápido e produtivo Valew. 
    quinta-feira, 7 de novembro de 2013 00:11