正規表現検証コンポーネントを使用して電子メール アドレスを検証する場合、値が存在することを確認するために RequiredFieldValidator を追加する必要があります。
私は主に CustomFieldValidator でこれを処理し、Javascript でこれを処理しました。
これを行うより良い方法はありますか?
正規表現検証コンポーネントを使用して電子メール アドレスを検証する場合、値が存在することを確認するために RequiredFieldValidator を追加する必要があります。
私は主に CustomFieldValidator でこれを処理し、Javascript でこれを処理しました。
これを行うより良い方法はありますか?
RegularExpressionValidator
と だけを使用しないのはなぜRequiredFieldValidator
ですか。
を使用するCustomFieldValidator
場合は、JavaScript チェックとサーバー側チェックも実装する必要があります。他の 2 つの検証コントロールを一緒に使用する場合、いくつかの属性を設定する以外に追加の実装は必要ありません。これは、Web フォームでこの種の検証を行う方法として期待されています。
次のプログラマーがやってきて、あなたの別のセットアップを見て、何も必要ないのに、なぜこのような余分な作業をしなければならなかったのか不思議に思うでしょう。
バックグラウンド コードで実行したい場合は、次の関数を使用できます。
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