1

/ {controller}/{action}ではなく/api/ {controller}で呼び出すように、データアノテーションを介してリモートバリデーターを構成するにはどうすればよいですか?

私のモデル:

public class MyModel
{
    [Required]
    public string Name { get; set; }
    [EmailAddress(ErrorMessage="We need a valid email."), Remote(....)]
    public string Email { get; set; }
}

私が何をしようとも、そのリモートバリデーターによって呼び出されるURLは、単に/ api / fooにアクセスするのではなく、/ foo/barです。

リモートバリデーターでのWebAPIのサポートはありますか?

可能であれば(手動で行うのではなく)、メールの一意性チェックで.NETバリデーターを使用したいのですが、フォームはAJAX経由で送信されます。フォームを送信する前にメールを検証し、 APIコントローラーを指すリモートバリデーターは自然な選択のようです。

4

1 に答える 1

3

WebAPIコントローラーは使用できません。これはの制限ですRemoteAttribute。MVCコントローラーとの競合を回避するには、Web APIルートを一致させるために、httprouteキーを含める必要がありますが、含まれてRemoteAttributeいません。

RemoteAttributeそれを機能させるには、継承とオーバーライドができるはずですGetUrl

于 2012-11-10T01:49:35.320 に答える