使用jquery验证文本框

时间:2013-03-31 10:43:47

标签: javascript jquery asp.net textbox requiredfieldvalidator

我的aspx页面里面有几个asp文本框。并且没有足够的空间来显示Requred字段验证器消息。这有什么解决方案吗?使用jquery或其他?

6 个答案:

答案 0 :(得分:2)

您只需突出显示带有Red边框的文本框,即可标记它们是文本框数据的问题。

您可以像这样使用CSS:

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

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

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

答案 1 :(得分:1)

尝试以下代码:

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

});

答案 2 :(得分:1)

您可以使用javascript或jQuery,通过验证数据,然后在未经验证的情况下将您的消息转回输入。 例如:

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

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

答案 3 :(得分: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>

答案 4 :(得分: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

这是解决您问题的完美,简单和简单的解决方案。

如果它对您有用,请告诉我。

答案 5 :(得分:0)

另外警告()您可以使用自己的验证器和彩色文本或文本框。 我的页面上有一个小例子,你可以调整它。添加css类: http://kjinit.blogspot.com/2013/03/jquery-dynamic-adding-css-class.html 并删除css类。

当然首先你需要像这样验证它:if('#yourInputId')。val(''); 只需在正确或不正确的情况下添加或删除css类的颜色。