0

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

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

但是当我运行这个项目并导航到注册部分时,它会抛出错误 No url for remote validation could be found。我一直在查看以下内容,以确认我没有错过任何内容:

MVC 中的远程验证

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

4

2 回答 2

0

你的方法需要

public JsonResult UsernameUnique(string Username)

ARemoteAttribute发回属性的值(不是模型)

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

于 2015-03-27T06:19:40.577 回答
0
public JsonResult UsernameUnique(string userName)
{

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

如果您想添加其他字段,您可以添加到 Action 中

public JsonResult UsernameUnique(string userName, FieldType additionalValue)

并更新远程属性,如:

[Remote("UsernameUnique", "Register", AdditionalFields = "YourPropName"))]
于 2015-03-27T06:22:33.850 回答