0

我的 aspx 页面中有几个 asp 文本框。并且没有足够的空间来显示 Requred 字段验证器消息。有什么解决办法吗?使用 jquery 还是别的什么?

4

6 回答 6

2

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

您可以像这样使用 CSS:

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

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

$("input").addClass("error").attr('title', 'An error occurred!');
于 2013-03-31T10:49:40.630 回答
1

试试下面的代码:

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

});
于 2013-03-31T10:51:17.987 回答
1

您可以同时使用 javascript 或 jQuery,通过验证数据,然后在未验证的情况下将消息返回到输入。前任:

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

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

于 2013-03-31T10:51:23.333 回答
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>
于 2013-03-31T10:56:21.877 回答
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",以便错误消息仅显示在弹出窗口中。

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

在此处输入图像描述

它是您问题的完美、简单和简单的解决方案。

请让我知道这对你有没有用。

于 2013-03-31T12:28:38.497 回答
0

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

当然首先你需要像这样验证它: if('#yourInputId').val(''); 只需在正确与否时为添加或删除 css 类的文本着色。

于 2013-03-31T10:53:39.470 回答