0

私は現在、コア、データ、共有、UI の 4 層アプリケーションに取り組んでいます。現在、すべてのモデルは、次の実装を持つモデルの 1 つのクラス ライブラリである共有プロジェクト内に配置されています。

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

これは現在、ここに示すように、UI プロジェクトの一部である Register コントローラー内にある Json メソッドを指しています。

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 に答える