【发布时间】:2018-09-14 06:28:24
【问题描述】:
我有一个非常简单的 aspx 表单,它收集姓名、地址、电子邮件等,我正在尝试使用 asp 控件进行服务器端验证。它正在工作(我认为?)并且我知道我需要在服务器端进行,但我不确定将正则表达式放在哪里以满足每个字段的实际要求。
这里以我的一个字段为例:
<div class="form-group">
<asp:Label runat="server" AssociatedControlID="FirstName" CssClass="col-md-2 control-label">* First Name</asp:Label>
<div class="col-md-3">
<asp:TextBox runat="server" ID="FirstName" CssClass="form-control" />
<asp:RequiredFieldValidator runat="server" ControlToValidate="FirstName"
CssClass="text-danger" ErrorMessage="First Name field is required." Display="Dynamic" />
</div>
</div>
我一直在使用asp:RequiredFieldValidator,并且客户端验证部分运行良好。该表单知道用户何时在我的必填字段中输入了某些内容,并在将任何内容发送到服务器之前相应地通知他们。我已经通过在我的页面上放置一个名为“有效”的标签来测试它,然后将它放入我的提交按钮点击事件中:
if(Page.IsValid)
{
valid.Text = "it's working";
}
当我填写必填字段时,我的标签确实出现并说它正在工作。但是,根据定义,asp:RequiredFieldValidator 仅指示我的必填字段是否具有某种值。它不会检查用户输入的格式。
我确实需要指定某些字段,并且我喜欢客户端验证部分的工作方式。但我还需要进行服务器端验证,并在混合中的某处使用正则表达式,以确保他们实际上在电子邮件字段中输入了电子邮件地址,并在邮政编码字段等中实际输入了数字。
我对 ASP.NET 还很陌生,并且开始觉得我在与它作斗争。我不想与之抗争。我想使用可用的工具来进行非常标准的服务器端验证,我只是不确定将正则表达式放在哪里。
谁能帮忙?
谢谢
【问题讨论】:
标签: c# asp.net regex validation server-side