0

这似乎只需要一两行代码?

这是我需要做的:

  • 将数据验证添加到“联系我们”表单上的新电话字段。我们只接受以下格式的电话:995-999-9999
  • 填写联系我们表格,以便您可以将其作为电子邮件提交。将所有测试电子邮件发送至 blah@boo.net。您可以使用您必须发送电子邮件的任何电子邮件帐户。

这需要编程 API,例如:

  • System.Net.Mail
    • 邮件消息
    • 客户端
    • 网络凭证

这似乎很容易,但我对它非常迷茫。当我运行它时,此页面也不会显示。这是页面代码:我希望我做对了,如果不正确,请见谅。我在尝试!

    <%@ Page Title="Contact Us" Language="vb" AutoEventWireup="false" MasterPageFile="~/Main.Master" CodeBehind="ContactUs.aspx.vb" Inherits="Week10.ContactUs" %>
<asp:Content ID="Content1" ContentPlaceHolderID="head" runat="server">
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" runat="server">
<h1>Contact Us</h1>
<hr />

<table border="1">
    <tr>
        <td>From</td>
        <td>
            <asp:TextBox ID="txtFrom" runat="server" Width="400px"></asp:TextBox>
        </td>
        <td>
            <asp:RequiredFieldValidator ID="rfvFrom" CssClass="ErrMSG"  runat="server" ControlToValidate="txtFrom" ErrorMessage="*" ToolTip="From field is required"></asp:RequiredFieldValidator></td>
    </tr>
    <tr>
        <td>Subject</td>
        <td>
            <asp:TextBox ID="txtSubject" runat="server" Width="400px"></asp:TextBox>
        </td>
        <td><asp:RequiredFieldValidator ID="rfvSubject" CssClass="ErrMSG" runat="server" ControlToValidate="txtSubject" ErrorMessage="*" ToolTip="Subject field is required"></asp:RequiredFieldValidator></td>
    </tr>
    <tr>
        <td>Phone</td>
        <td>
            <asp:TextBox ID="txtPhone" runat="server" Width="100px"></asp:TextBox>
        </td>
         <td><asp:RequiredFieldValidator ID="rfvPhone" CssClass="ErrMSG"  runat="server" ControlToValidate="txtPhone" ErrorMessage="*" ToolTip="Phone field is required"></asp:RequiredFieldValidator>
            </td>
    </tr>
    <tr valign="top">
        <td>Comments</td>
        <td>
            <asp:TextBox ID="txtComments" runat="server" Rows="10" TextMode="MultiLine" 
                Width="400px"></asp:TextBox>
        </td>
        <td><asp:RequiredFieldValidator ID="rfvComments" CssClass="ErrMSG" runat="server" ControlToValidate="txtComments" ErrorMessage="*" ToolTip="Comments field is required"></asp:RequiredFieldValidator></td>
    </tr>
    <tr>
        <td colspan="3" align="center">
            <asp:Button ID="btnSubmit" runat="server" Text="Submit" /></td>
    </tr>
    <tr>
        <td colspan="3" align="center">
            <asp:Label ID="lblMSG" runat="server" Text=""></asp:Label>
        </td>
    </tr>
</table>
</asp:Content>   
4

1 回答 1

1

看一下正则表达式验证器。
http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.regularexpressionvalidator.aspx

您可以使用它为所需的电话号码模式指定表达式模式。

有关正则表达式的更多信息,请查看本教程:http ://www.regular-expressions.info/tutorial.html

在构建表达式时,更容易使用验证器来确保您的模式确实按照您的预期进行验证。你可以在网上到处找到这些。这是一个:http ://tools.netshiftmedia.com/regexlibrary/#

最后,这是一个验证数字 995-999-9999 的非常简单的表达式。但是,我不认为这是一个准确的验证(电话号码不能以一个开头)。

^\d{2}[1-5]-\d{3}-\d{4}$

编辑:

在电话的必填字段验证器之后添加:

<asp:RegularExpressionValidator ID="rgexPhone" CssClass="ErrMSG"  runat="server"     ControlToValidate="txtPhone" ErrorMessage="*" ToolTip="Phone field is invalid" ValidationExpression="^\d{2}[1-5]-\d{3}-\d{4}$" />

但是在盲目地将其他人的代码添加到您的项目之前,您确实应该知道这是做什么的。

也许这篇文章会解释得更好一点:http: //msdn.microsoft.com/en-us/library/ff650303.aspx

于 2012-05-04T22:45:10.647 回答