Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/273.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/image-processing/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 动态捕获远程验证属性名称/值_C#_Json_Asp.net Mvc 5 - Fatal编程技术网

C# 动态捕获远程验证属性名称/值

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

我有一个MVC web应用的远程验证,我想稍微扩展一下,想知道这是否可行

当前在我的模型中有此验证行

[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);