0

正規表現検証コンポーネントを使用して電子メール アドレスを検証する場合、値が存在することを確認するために RequiredFieldValidator を追加する必要があります。

私は主に CustomFieldValidator でこれを処理し、Javascript でこれを処理しました。

これを行うより良い方法はありますか?

4

2 に答える 2

2

RegularExpressionValidatorと だけを使用しないのはなぜRequiredFieldValidatorですか。

を使用するCustomFieldValidator場合は、JavaScript チェックとサーバー側チェックも実装する必要があります。他の 2 つの検証コントロールを一緒に使用する場合、いくつかの属性を設定する以外に追加の実装は必要ありません。これは、Web フォームでこの種の検証を行う方法として期待されています。

次のプログラマーがやってきて、あなたの別のセットアップを見て、何も必要ないのに、なぜこのような余分な作業をしなければならなかったのか不思議に思うでしょう。

于 2010-05-02T02:14:04.380 に答える
0

バックグラウンド コードで実行したい場合は、次の関数を使用できます。

Function checkEMail(ByVal email As String) As Boolean

        Dim pattern As String = "^((?>[a-zA-Z\d!#$%&'*+\-/=?^_`{|}~]+\x20*|""((?=[\x01-\x7f])[^""\\]|\\[\x01-\x7f])*""\x20*)*(?<angle><))?((?!\.)(?>\.?[a-zA-Z\d!#$%&'*+\-/=?^_`{|}~]+)+|""((?=[\x01-\x7f])[^""\\]|\\[\x01-\x7f])*"")@(((?!-)[a-zA-Z\d\-]+(?<!-)\.)+[a-zA-Z]{2,}|\[(((?(?<!\[)\.)(25[0-5]|2[0-4]\d|[01]?\d?\d)){4}|[a-zA-Z\d\-]*[a-zA-Z\d]:((?=[\x01-\x7f])[^\\\[\]]|\\[\x01-\x7f])+)\])(?(angle)>)$"

        Dim emailCheck As Match = Regex.Match(email, pattern)
        If emailCheck.Success Then
            checkEMail = True
        Else
            checkEMail = False
        End If

        Return checkEMail

    End Function
于 2012-08-16T15:58:28.367 に答える