ASP.NET - ASP.NET 服务器控件的验证错误信息布局

      当错误信息出现在页上时,它成为页布局的一部分。您需要设计页的布局以放置可能出现的任何错误文本。

如果验证在服务器上执行,则除非出现错误,否则验证控件不会呈现到页,并因此不会占用任何空间。如果出现错误,页将在往返期间重新创建,并将错误文本添加到页。

如果用户具有支持动态 HTML (DHTML) 验证的浏览器,则验证可以在客户端上动态发生。此时,将会立即出现就地错误信息文本,并可能更改页的布局。

要控制如何显示客户端验证的错误信息文本,可以将验证控件的 Display 属性设置为以下三个选项之一:

布局选项

说明

Static

即使没有可见错误信息文本,每个验证控件也将占用空间,允许您为页定义固定的布局。多个验证控件无法在页上占用相同空间,因此您必须在页上给每个控件留出单独的位置。这一设置只在 Internet Explorer 4.0 或更高版本中有效,在其他浏览器中该布局将变成 Dynamic

Dynamic

除非显示错误信息,否则验证控件将不会占用空间,这允许控件共用同一个位置(例如表的单元格)。但在显示错误信息时,页的布局将会更改,有时将导致控件更改位置。

None

验证控件不在页上出现。

      说明: 动态布局需要支持动态 HTML (DHTML) 的浏览器。如果您的 Web 应用程序将与不支持 DHTML 的浏览器一起使用,建议改为在一个表单元格或 Panel 控件中对验证控件进行布局。

 

一、如何:控制 ASP.NET 服务器控件的验证错误信息显示

显示方法

说明

内联

在控件旁边验证控件所在的位置显示错误信息。

摘要

在一个涵盖所有错误的单独摘要中显示错误信息,该方式只在用户提交页时可用。或者,可以在消息框中显示错误信息,但是此选项仅在支持动态 HTML (DHTML) 的浏览器中可用。

内联和摘要

同一错误信息的摘要显示和内联显示可能会有所不同。您可以使用此选项内联显示较为简短的错误信息,而在摘要中显示较为详细的信息,也可以在输入字段旁显示错误标志符号,而在摘要中显示错误信息。

自定义

您可以创建您自己的错误信息显示。

      如果要显示错误信息摘要,您需要将控件添加到页。

 

1.1、显示错误信息摘要

1、将 ValidationSummary 控件添加到页中要显示收集的错误信息的位置上。

2、设置单个验证控件的 ErrorMessage Display 属性。

3、若要格式化错误信息,请使用在 ValidationSummaryDisplayMode 枚举中定义的下面其中一个值来设置摘要控件的 DisplayMode 属性:

显示

BulletList

(默认值)每条错误信息都显示为单独的项。

List

每条错误信息都显示在单独的行中。

SingleParagraph

每条错误信息都显示为段落中的一个句子。

      4、如果将单个验证控件与验证组关联,则需要对每个验证组使用一个 ValidationSummary 控件。

若要将错误信息内联显示以及显示为摘要,需要设置单个验证控件中属性的不同组合。

 

1.2、内联显示和摘要显示错误信息

1、按照前面步骤中所述添加一个 ValidationSummary 控件。

2、根据下表设置单个验证控件的 ErrorMessageText Display 属性:

选项

需要 ValidationSummary 控件

验证控件上的属性设置

仅限内联

Display = Static Dynamic

ErrorMessage = <错误文本> Text = <错误文本>

仅限摘要(含可选消息框)

Display = None

ErrorMessage = <错误文本> Text = <错误文本>

内联和摘要(含可选消息框)

Display = Static Dynamic

ErrorMessage = <摘要的错误文本>

Text = <内联错误文本或标志符号>

      如果客户端运行的浏览器支持 DHTML,则还可以在消息框中显示错误信息摘要。

 

1.3、在消息框中显示错误信息摘要

1、将 ValidationSummary 控件的 ShowMessageBox 属性设置为 true。用户提交页时,错误将同时显示在 ValidationSummary 控件和消息框中。

2、若要只在消息框中显示错误信息摘要,则将 ShowSummary 属性设置为 false

 

二、如何:设置 ASP.NET 服务器控件的验证错误信息的格式

      在使用 ASP.NET 验证控件时,您可以控制错误文本的格式(字体、大小等),还可以用标记来替代错误文本。例如,您可以使验证控件在发生错误时显示星号 (*)

      您还可以在验证控件的 ErrorMessage 属性中包含详细的错误消息,并将 ValidationSummary 控件添加到页。详细的 ErrorMessage 属性文本将出现在页中 ValidationSummary 控件的位置上。

通过在 ErrorMessage Text 属性的文本中使用 HTML 元素,您可以提供错误消息中的格式设置。例如,要仅对错误消息中的一个词应用斜体格式,可以将该词置于 <i> </i> 标记中。

      说明: 要在错误消息文本中显示保留的 HTML 字符,只需对其进行编码即可。例如,要显示“<”,可使用字符序列 &lt;

      如果显示的是验证错误摘要,您可以指定在单独验证控件的位置上显示标记。

 

2.1、设置错误消息的格式

设置验证控件的属性,如下所示:

属性

说明

ForeColor

错误消息文本的颜色。

BackColor

文本的背景色。

Font

字体的字形、大小、粗细等。

BorderWidthBorderColor BorderStyle

错误消息的边框的大小和颜色。

Style CssClass

在用户使用支持 CSS 样式表的浏览器时使用的样式设置。

      说明: 您使用这些属性所作的一些设置可能无法得到所有浏览器的支持。

 

2.2、在输入控件旁显示标记

将每一验证控件的 ErrorMessage 属性设置为应显示在 ValidationSummary 控件中的错误文本。

将每一验证控件的 Text 属性设置为要显示的标记。标记可以由任意有效的 HTML 构成,其中包括文本(例如星号)或图像。

说明: 标记将显示在验证控件的位置上。如何以上述正确显示标记的方式对验证控件进行布局,这完全取决于您。

 

三、如何:指定 ASP.NET 服务器控件上就地消息的布局

      ASP.NET 验证错误信息出现在页上时,它成为页布局的一部分。您可以指定布局是固定的还是动态的。如果布局是固定的,则错误信息的出现不会更改页面布局。

      将每个验证控件的 Display 属性设置为来自 ValidatorDisplay 枚举的下列值之一:

选项

说明

None

在您只使用摘要控件时使用

Static

用于固定布局

Dynamic

用于动态布局

      说明: 要查看静态布局,必须有支持动态 HTML (DHTML) 的浏览器。

 

四、如何:显示 ASP.NET 服务器控件的服务器端自定义验证消息

      如果验证程序或页 IsValid 属性为 false,则不必使用验证控件输出响应。在客户端和服务器端,您都可以创建自定义响应,例如控件中的颜色更改或标签文本的字体更改。

显示自定义验证消息

1、在 Page_Load 事件处理程序中,调用验证控件或页的 Validate 方法。

2、检查验证控件或页的 IsValid 属性,按条件添加文本或控件,或者更改控件属性(例如颜色)。

 

下面的代码示例在 IsValid 属性为 true 时显示文本“All entries are valid”,在该属性为 false 时显示文本“There are one or more invalid entries”。

if (this.IsPostBack)

  {

      ValidationControl1.Validate();

      if (ValidationControl1.IsValid)

      {

          lblOutput.Text = "All entries are valid.";

      }

      else

      {

          lblOutput.Text = "There are one or more invalid entries.";

      }

  }

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值