首先,我想说我知道我的问题,但我不知道如何解决。 我的任务是清理应用程序的验证部分。 我们在单独的项目中有实体模型和MVC应用程序,一个称为“核心”,另一个称为“ webapp”
我似乎无法启动我的[远程]验证。我已经完成了研究,但是我相信这是因为,我正在尝试在单独的项目中引用控制器。
核心项目中的简化模型看起来像
namespace Project.Core.Models
{
[Table(name: "MT_DATABASE_SERVERS")]
public class DatabaseServer : ModelBase
{
[Key]
public int Id { get; set; }
[Required]
[MaxLength(500)]
[Display(Name = "Database Server")]
[Remote("IsPropertyExists","DatabaseServers", HttpMethod = "POST",ErrorMessage = "This Server is already in use.")]
public string ServerName { get; set; }
}
}
这是简化的控制器逻辑
namespace Project.WebApp.Controllers.Servers
{
public class DatabaseServersController : ControllerBase
{
[HttpPost]
public ActionResult Create(DatabaseServer databaseServer
{
using (var db = GetMTContext())
{
db.DatabaseServers.Add(databaseServer);
db.SaveChanges();
return RedirectToAction("List");
}
}
[HttpPost]
public ActionResult IsPropertyExists(string property)
{
using (var db = GetMTContext())
{
return Json(!db.DatabaseServers.Any(x => x.ServerName == property), JsonRequestBehavior.AllowGet);
}
}
}
}
答案 0 :(得分:0)
您需要指定my_callback
,然后再指定
execute
但是条件是您需要在模型或实体中添加或存在其他字段AdditionalFields = "property"
。