使用ASP.NET Core进行远程验证

Mig*_*ura 5 asp.net-core-mvc asp.net-core

我正在尝试创建一个远程验证,如下所示:

[Remote("CheckValue", "Validate", ErrorMessage="Value is not valid")]
public string Value { get; set; }
Run Code Online (Sandbox Code Playgroud)

我正在使用ASP.NET Core(ASP.NET 5),似乎Remote不可用.有谁知道如何使用ASP.NET CORE执行此操作?

Dan*_*.G. 6

RemoteAttribute是ASP.Net MVC Core的一部分:

  • 如果您使用的是RC1,则它位于Microsoft.AspNet.Mvc命名空间中.RemoteAttribute在github中查看.
  • 在RC2中重新计划后,它将位于Microsoft.AspNetCore.Mvc命名空间中.RemoteAttribute在github中查看.

例如,在RC1中创建一个带有身份验证的新MVC站点.然后LoginViewModel使用虚拟远程验证更新生成的内容,在主控制器中调用方法:

using Microsoft.AspNet.Mvc;
using System.ComponentModel.DataAnnotations;
public class LoginViewModel
{
    [Required]
    [EmailAddress]
    [Remote("Foo", "Home", ErrorMessage = "Remote validation is working")]
    public string Email { get; set; }

    ...
}
Run Code Online (Sandbox Code Playgroud)

如果您在家庭控制器中创建该虚拟方法并设置断点,则只要您在登录表单中更改电子邮件,就会看到它被命中:

public class HomeController : Controller
{

    ...

    public bool Foo()
    {
        return false;
    }
}
Run Code Online (Sandbox Code Playgroud)