C# 动态捕获远程验证属性名称/值
我有一个MVC web应用的远程验证,我想稍微扩展一下,想知道这是否可行 当前在我的模型中有此验证行C# 动态捕获远程验证属性名称/值,c#,json,asp.net-mvc-5,C#,Json,Asp.net Mvc 5,我有一个MVC web应用的远程验证,我想稍微扩展一下,想知道这是否可行 当前在我的模型中有此验证行 [Required(AllowEmptyStrings = false, ErrorMessage = "Please enter a Forename")] [Remote("doesUserNameExist", "Treeview", HttpMethod = "POST", ErrorMessage = "Already exists")] public string U
[Required(AllowEmptyStrings = false, ErrorMessage = "Please enter a Forename")]
[Remote("doesUserNameExist", "Treeview", HttpMethod = "POST", ErrorMessage = "Already exists")]
public string Username { get; set; }
我的理解是,远程验证将用户输入作为表单数据发送,表单数据的名称与属性相同。所以,在这种情况下,它是名字
控制器类将需要一个Forename变量来获取该变量,例如:
[HttpPost]
public JsonResult doesUserNameExist(string Forename)
{
IEnumerable<SelectListItem> user = new List<SelectListItem>();
using (EIPInternalEntities ctx = new EIPInternalEntities())
{
user = new SelectList(ctx.Database.SqlQuery<string>("EXEC dbo.uspGetLkUpJobTitle").ToList());
}
return Json(!user.Any(x => x.Text.ToUpper() == Forename.ToUpper()));
}
抱歉,如果这是一个有点jibberish,这是非常新的
var PropName = Metadata.ContainerType.GetProperty(this.Metadata.PropertyName);