私は同じことを期待しているので、ここで何かが間違っていると確信しています。RegularExpressionValidatorとCustomValidatorのRegex.Match
web.configファイルに保持された発現が
ことになっている[\w-][email protected]([\w-]+\.)+[\w-]+
ある次RegularExpressionValidator構文
<asp:RegularExpressionValidator runat="server" ID="rxEmail" ControlToValidate="txEmail"
ValidationExpression="<%$ appsettings:rxEmail %>" Text="*" />
、次のCustomValidator構文/コード
<asp:CustomValidator ID="cvEmail" runat="server" Text="*" onServerValidate="validateContactFormat" />
Sub validateContactFormat(ByVal sender As Object, ByVal args As ServerValidateEventArgs) Handles cvContactFormat.ServerValidate
Dim emailRegEx As Regex = New Regex(ConfigurationManager.AppSettings("rxEmail"))
args.IsValid = emailRegEx.IsMatch(txEmail.Text)
End Sub
を仮定シンプルで、最も明白な問題を除外し、あまりにも写真ではなくky。
入力が[email protected]の場合、RegularExpressionValidatorは失敗しますが、CustomValidatorは失敗します。他のシナリオは期待どおりに動作します..両方とも[email protected]を渡しますが、blah.comは失敗します。他にも問題があるかもしれませんが、これは私が気づいたものです。
私はCustomValidatorのコードがRegularExpressionValidatorが '舞台裏で'作り出すものと同じではないと思っていますが、正確に何が違うのですか?
多くの感謝!
素晴らしい答え:)感謝 –
@TablooQuijico:どういたしまして、あなたがすべき最初のものじゃありません'Search()'や 'Find()'や 'IsSubmatch()'の代わりに 'IsMatch()'メソッドの名前をつけるという.NETチームの決定や、完全一致を意味するものではない。 –