2013-03-31 129 views
0

我在我的aspx页面中有几个asp文本框。没有足够的空间显示需求字段验证器消息。有没有解决这个问题的方法?使用jquery或其他东西?使用jquery验证文本框

+0

查看我的答案。它一定会帮助你。你不必编写一行额外的代码。只有几个属性,并完成。 –

回答

2

您可以简单地突出显示带有Red边框的文本框,以标记它们是文本框数据的问题。

您可以使用CSS这样的:

input.error 
{ 
    background: Yellow; border: 1px solid red; 
} 

错误时,只需将类添加到input,并输入提示

$("input").addClass("error").attr('title', 'An error occurred!'); 
+0

我将如何显示错误消息? –

+0

你可以做上面的事情。 –

+0

你能解释一下吗? –

1

试试下面的代码:

$(":text").each(function(){ 
    if($(this).val()==""){ 
    $(this).css("background-color","red"); 
    alert($(this).attr("id") & " validate error"); 
    return 
    } 

}); 
1

通过验证数据,您可以同时使用javascript或jQuery,如果不是,则将消息转回输入验证。 ex:

if($('#idOfFeild').val()==''){ 
    $('#idOfFeild').val('Please input your data'); 
} 

您也可以添加样式来警告您的用户!

0

Alternativly to alert()您可以使用自己的验证器和颜色文本或文本框。 我的页面上有一个小例子,您可以调整它。添加css类: http://kjinit.blogspot.com/2013/03/jquery-dynamic-adding-css-class.html 并删除css类。当然,首先你需要像这样验证它:if('#yourInputId')。val(''); 只需在添加或删除css类时添加或删除正确的文本。

1

你可以阅读这篇文章:http://www.codeproject.com/Articles/43772/Generic-Code-of-Validating-Fields-with-Jquery和他们试试这个代码:

<script type="text/javascript"> 
    <script src="JavaScript/jquery.js" type="text/javascript"></script> 
    function callOnload() 
    { 
     $("input[isvalidate=true]").each(
           function(n) 
           { 
           $('#' +this.id).addClass('mandatory'); 
           this.onkeyup=function() 
           { 
            if(this.value==='') 
            { 
             $('#' +this.id).removeClass('normal'); 
             $('#' +this.id).addClass('mandatory'); 
            } 
            else 
            { 
             $('#' +this.id).removeClass('mandatory'); 
             $('#' +this.id).addClass('normal'); 
            } 
           } 
           } 
         ); 

     $("#btnSubmit").click(
           function() 
           { 
            $("input[isvalidate=true]").each(
            function(n) 
            { 
            if(this.value==='') 
            { 
             alert($('#' +this.id).attr('errprMsg')); 
            } 
            } 
           ); 
           return false; 
           } 
          ); 
    } 
    $(document).ready(callOnload); 
</script> 
1

是很明显,你有一个非常简单的解决方案。

你不必使用任何jQuery的东西。你只需要使用asp:validationSummary

我在这里发布解决方案。通过使用标准的asp validation controls,您可以在简单的弹出窗口中显示所有错误消息。它不会消耗您的page上的任何空间。

对下面的代码来看看:

<asp:ValidationSummary ID="validation1" runat="server" ShowMessageBox="true" ShowSummary="false" DisplayMode="SingleParagraph" ValidationGroup="abc" /> 

<asp:TextBox ID="txtAge" runat="server" ></asp:TextBox> 

<asp:RequiredFieldValidator ID="req" runat="server" ControlToValidate="txtAge" Display="None" ValidationGroup="abc" ErrorMessage="Field Required"></asp:RequiredFieldValidator> 

<asp:Button ID="btn" Text="click" runat="server" ValidationGroup="abc" /> 

在这里,我已经设置ShowMessageBox="true"Validation Summary,它会显示弹出式窗口中的所有错误消息。

设置您的验证器Display="none",以便错误消息仅在弹出窗口中显示。

错误信息如下图所示。您不必担心管理页面空间。

enter image description here

它是完美的,很容易对你的问题的简单解决方案。

让我知道,如果它适合你。

+0

消息框和警告框不能包含在我的项目中。 –

+0

为什么你不能在项目中包含它? –

+0

它可能会刺激用户。 。 –