0

通常、CustomValidator コントロールは、ユーザーの入力を何らかの算術検証に対してチェックします。

Web フォームにテキスト ボックスがあります。そのテキストは、ユーザーの入力からではなく、データベースからのものです。

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 に答える