webform中的验证控件及两个应用技巧

一、非空验证--RequiredFiledValidator

<一>属性:

  1. ErrorMessage--验证出错后的提示信息
  2. ControlToValidate--要验证的控件的ID
  3. Display--显示方式(Static--不显示也占空间)(Dynamic--不显示不占空间)
  4. InitialValue--验证的初始值,被验证控件的值与此值相同的话,就认为是空

<二>场景:

  1. 填没填
  2. 初始值变没变--通过设置InitialValue来实现

二、对比验证--CompareValidator

<一>属性:

  1. ErrorMessage--验证出错后的提示信息
  2. ControlToValidate--要验证的控件的ID
  3. Display--显示方式(Static--不显示也占空间)(Dynamic--不显示不占空间)
  4. InitialValue--验证的初始值,被验证控件的值与此值相同的话,就认为是空
  5. ControlToCompare--要对比的空间的ID
  6. ValueToCompare--要对比的值
  7. Operator--对比的运算符
  8. Type--输入的对比类型

<二>场景:

  1. 两个控件的值进行对比--例如:密码和确认密码
  2. 控件输入的值和固定值进行对比--例如:工资

三、范围验证--RangeValidator

<一>属性:

  1. ErrorMessage--验证出错后的提示信息
  2. ControlToValidate--要验证的控件的ID
  3. Display--显示方式(Static--不显示也占空间)(Dynamic--不显示不占空间)
  4. MaximumValue--范围的上线
  5. MinimumValue--范围的下线
  6. Type--类型

<二>场景:

例如--出生日期

四、正则表达式验证--RegularExpressionValidator

<一>属性:

  1. ErrorMessage--验证出错后的提示信息
  2. ControlToValidate--要验证的控件的ID
  3. Display--显示方式(Static--不显示也占空间)(Dynamic--不显示不占空间)
  4. ValidationExpression--验证表达式(更多正则表达式详解在《正则表达式》中)

五、验证汇总--ValidatorSummary

ShowMessageBox--是否以对话框的形式显示汇总的错误信息

ShowSummary--是否在页面上显示汇总的错误信息

六、自定义验证--CustomValidator

<一>属性:

  1. ErrorMessage--验证出错后的提示信息
  2. ControlToValidate--要验证的控件的ID
  3. Display--显示方式(Static--不显示也占空间)(Dynamic--不显示不占空间)
  4. ClientValidationFunction--客户端验证函数的函数名(注:函数不用加括号)

例:客户端验证函数的规范:--js函数

function 函数名(sender,e)//sender--事件源    e--事件数据

{

  事件数据.Value--要被验证的值,该验证控件所要验证的那个输入框中的值

  事件数据.IsValid--告诉验证事件控件,验证是否通过

  分三步:

  1、把要验证的值取出来

  var s=e.Value;

  2、进行验证

  逻辑。。。

  3、告诉验证控件是否验证通过(也就是给   事件数据.IsValid赋值(bool类型))

}

七、验证分组:
把同一组的输入控件、按钮、验证控件的ValidationGroup属性设成一样的。


Repeater控件:展示数据库相关的数据
外观与数据分离。
外观代码:用模板来实现的。(头,脚,项,交替项,分隔符模板)
<asp:Repeater ID="Repeater1" runat="server">
<HeaderTemplate>
<ul>
</HeaderTemplate>
<ItemTemplate>
<li><%# Eval("Name") %></li>
</ItemTemplate>
<FooterTemplate>
</ul>
</FooterTemplate>
</asp:Repeater>
数据代码:C#的绑定代码。
var query = _Context.Info;

Repeater1.DataSource = query;
Repeater1.DataBind();

Repeater在模板中绑定数据三种方式:
1.<%# Eval("属性名或列名","格式如{0:yyyy-MM-dd}")%>
2.<%# 函数名()%>,函数需要事先在.cs文件写好,并返回字符串。如:
public string ShowSexName()
{
bool sex = Convert.ToBoolean(Eval("Sex"));
return sex ? "男" : "女";
}
3.如果使用的实体类(如Linq),可扩展属性,在模板中使用<%# Eval("扩展属性")%>进行绑定。

关于验证控件的俩个应用技巧

一、防止按钮激发验证控件

默认情况下,aspnet控件的按钮都会激发验证,如果不想激发验证,给按钮CauseValidation=False;

二、验证分组问题

把输入的控件(文本框,单选,多选),验证控件(非空,对比,范围,正则,自定义,汇总),按钮的ValidationGroup属性设置成形同的值

原文地址:https://www.cnblogs.com/franky2015/p/4876654.html