Array
(
)

Validar textbox em master page

Otilia Schall
|
MVP
    10 fev 2014

No topo da Master Page tem um form com um textbox e um botão para fazer pesquisa no site.
Quero validar o textbox para quando o botão for clicado, não aceite branco e menos de 3 caracteres.
Estou usando jquery.validate.js mas não consigo fazer a validação.
Coloco o código aqui
<%@ Master Language="C#" MasterPageFile="~/masterPage/root.Master" AutoEventWireup="true"
CodeFile="site.master.cs" Inherits="templates_site" %>
<asp:Content ID="Content1" ContentPlaceHolderID="head" runat="Server">
<asp:ContentPlaceHolder ID="head" runat="server">
</asp:ContentPlaceHolder>
<script src="~/App_Themes/site/js/jquery-1.3.2.js" type="text/javascript"></script>
<script src="~/App_Themes/site/js/jquery.validate.js" type="text/javascript"></script>
<link rel="stylesheet" href="../App_Themes/site/style/tabless_style.css" />
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceTopo" runat="Server">
<header class="limit">
<div class="topo">
<div class="busca">
<script type="text/javascript">
$(document).ready(function() {
$("#form1").validate({
rules: {
<%=txtBusca.UniqueID %>: {
minlength: 2,
required: true
}
}, messages: {
txtBusca:{
required: "O campo Busca não pode ser branco.",
minlength: "O campo nome deve conter no mínimo 3 caracteres."
}
}
});
});
</script>

<asp:TextBox ID="txtBusca" runat="server" Width="220px" Font-Size="10px" BorderWidth="1px" BorderColor="#efefef" Height="18px" Font-Names="arial"></asp:TextBox>
<asp:ImageButton ID="imgBusca" runat="server" ImageUrl="~/App_Themes/site/images/busca.png" onclick="btnBusca_OnClick" Height="24px"></asp:ImageButton>
</div>
</center></div>
Não dá erro e não aparece a mensagem de validação.

Joel Rodrigues
   - 12 fev 2014

Verifique se não ocorre nenhum erro no console de JavaScript do browser.

Otilia Schall
|
MVP
    12 fev 2014

Consegui resolver usando um evento em btnBusca_OnClick.

Mas agora estou com um novo problema.

O form de busca no site fica na Master Page e aparece em todas as páginas.
Na página de Contato.aspx tem um outro formulário com validação campo a campo.

Quando estou na página de Contato.aspx e vou fazer uma busca (topo do site) e clico no botão Submit, aparece as validações nos campos do form de contato e não consigo ir para a página de busca.aspx.

Como faço para resolver este problema, ou seja, isolar os forms.