如何验证有效

时间:2017-09-08 12:00:53

标签: c# asp.net unobtrusive-validation

如何在有效使用情况下在文本框旁边显示绿色复选框图像?
当用户传递到下一个文本框时,我试图显示这个。

以下是无效使用的代码

<asp:TextBox ID="TextBoxEMail" runat="server" ValidationGroup="Valid1"></asp:TextBox>

<asp:RegularExpressionValidator ID="RegularExpressionValidator1"
runat="server" ErrorMessage="EMail is invalid"
ControlToValidate="TextBoxEMail"
ValidationGroup="Valid1" Display="Dynamic" ForeColor="Red"
ValidationExpression="^([0-9a-zA-Z]([-.\w]*[0-9a-zA-Z])*@([0-9a-zA-Z][-\w]*
[0-9a-zA-Z]\.)+[a-zA-Z]{2,9})$"></asp:RegularExpressionValidator>

1 个答案:

答案 0 :(得分:1)

您可以使用JavaScript(或jQuery)来完成。 这是一个javascript的例子。

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Test.aspx.cs"     Inherits="WebApplication1.Test" %>

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <link type="text/css" rel="stylesheet" href="Content/Site.css" />
    <title></title>

    <script type="text/javascript">
        function checkMailAddress(tb) {
            var regEx = RegExp(/^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/);
            var img = document.getElementById("imgValidate");
            if (regEx.test(tb.value)) {
                img.style.display = "block";
            }
            else
                img.style.display = "none";
        }
    </script>
</head>
<body>
    <form id="form1" runat="server">
        <div>
            <asp:TextBox ID="txtEmail" runat="server" onchange="checkMailAddress(this)"></asp:TextBox>
            <asp:Image ID="imgValidate" runat="server" Height="18px" ImageUrl="~/Images/Ok.png" Width="22px" CssClass="validationImage" />

        </div>
    </form>
</body>
</html>

在site.css中:

.validationImage
{
    display:none;
}

site.css位于项目的“内容”文件夹中。图像Ok.png位于Images文件夹中。