私たちのASP.MVCプロジェクトでは、検証のためにDataAnnotations属性を使用しています。フィールドの1つにUrlが含まれていて、[Url]
属性のマークが付いています。しかし、私がhttp://localhost:13030
をフィールド値に入れると、検証をパスしていません。URLの検証属性が `localhost`を無効なURLとしてマーク
属性を使用してlocalhost
を有効なターゲットとして定義する方法はありますか。
私たちのASP.MVCプロジェクトでは、検証のためにDataAnnotations属性を使用しています。フィールドの1つにUrlが含まれていて、[Url]
属性のマークが付いています。しかし、私がhttp://localhost:13030
をフィールド値に入れると、検証をパスしていません。URLの検証属性が `localhost`を無効なURLとしてマーク
属性を使用してlocalhost
を有効なターゲットとして定義する方法はありますか。
UrlAttribute
は、ここでソースコードに示されているRegExに対して有効です:https://github.com/Microsoft/referencesource/blob/master/System.ComponentModel.DataAnnotations/DataAnnotations/UrlAttribute.cs#L46。
http://localhost
は、.
がないために一致しません。
他のオプションについては、この回答を参照してください:How I can validate urls in C# for localhost。
EDIT:ソースコードによれば、dataAnnotations:dataTypeAttribute:disableRegEx
をAppSettingsに追加し、その値をtrue
に設定することができます。これによりUrlAttribute
の検証プロセスはにのみ行われ、http://
,https://
またはftp://
で始まることが確認されます。同じソースファイルのLine 33を参照してください。
あなたは 'http:// localhost'という意味ですか?独自の "localhost"は有効なURLではないためです。 – reckface
確かに、単純化するために 'localhost'を使った' http:// localhost:13030'のようなものです。編集された質問 – ASpirin