远程验证 - 无法找到远程验证的网址mvc 5 C#

时间:2015-03-27 06:17:03

标签: c# validation asp.net-mvc-5 remote-validation

我目前正在开发一个4层应用程序,核心,数据,共享,UI目前我们所有的模型都位于共享项目中,这是我们具有以下实现的模型之一的类库:< / p>

[Remote("UsernameUnique", "Register")]
[Required]
public string Username { get; set; }

这当前指向一个Json方法,该方法位于Register控制器内,该控制器是UI项目的一部分,如此处所示,

public JsonResult UsernameUnique(UserRegistrationPartOne model)
{
    var t = model;
    return Json(false, JsonRequestBehavior.AllowGet);
}

但是当我运行这个项目并导航到注册部分时,它会抛出错误没有用于远程验证的url。我一直在看以下内容,只是确认我没有错过任何东西:

Remote Validaion inside MVC

根据他们所做的和我所做的几乎完全相同,我能想到的唯一可能导致这个问题的是该模型位于共享项目中的事实UI项目中的视图?或者它可能是别的东西?

2 个答案:

答案 0 :(得分:0)

您的方法需要

public JsonResult UsernameUnique(string Username)

RemoteAttribute发送回属性值(不是模型)

附注:如果您需要发回模型的其他属性以进行验证,那么您可以使用AdditionalFields的{​​{1}}属性

答案 1 :(得分:0)

public JsonResult UsernameUnique(string userName)
{

    /// Checking your validation
    return Json(false, JsonRequestBehavior.AllowGet);
}

如果你想添加额外的字段,你可以添加到行动

public JsonResult UsernameUnique(string userName, FieldType additionalValue)

并更新远程属性,如:

[Remote("UsernameUnique", "Register", AdditionalFields = "YourPropName"))]