0

我们通常知道 CustomValidator 控件会根据一些算术验证检查用户的输入。

我的网络表单中有一个文本框。它的文本不是来自用户的输入,而是来自数据库。

MembershipUser user = Membership.Providers["SqlMembershipProvider"].GetUser(userName);
TextUserName.Text = AntiXss.HtmlEncode(user.UserName);

我的目标是使用某种验证器来检查它是否合适。如果不是,则在文本框中更改它并再次验证。怎么做?

谢谢。

更新代码:

    protected void ValidateUser()
    {
        string UserNameCreated = TextUserName.Text;
        Match match = Regex.Match(UserNameCreated, @"^[a-zA-Z0-9]{6,}$",
    RegexOptions.IgnoreCase);
    }

     <td class="style4">
            <asp:TextBox ID="TextUserName" runat="server"></asp:TextBox>
        </td><td><asp:CustomValidator ID="CustomValidatorUser" runat="server" ControlToValidate="TextUserName"
                                ErrorMessage="Minimum of 6 (six) alphanumeric characters." 
                OnServerValidate="ValidateUser" Display="Dynamic"
                                ValidateEmptyText="True" ></asp:CustomValidator></td>
4

1 回答 1

0

ServerValidate的签名错误。

void ServerValidation(object source, ServerValidateEventArgs args)
{
    args.IsValid = Regex.Match(TextUserName.Text, @"^[a-zA-Z0-9]{6,}$", RegexOptions.IgnoreCase);
}
于 2012-04-18T14:11:04.037 回答