簡體   English   中英

遠程驗證-找不到用於遠程驗證的網址mvc 5 C#

[英]Remote Validation - No url for remote validation could be found mvc 5 C#

我目前正在研究4層應用程序,即Core,Data,Shared,UI,目前的樣子我們所有的模型都位於Shared項目中,Shared項目是其中一個具有以下實現的模型之一的類庫:

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

當前,這指向位於Register控制器內部的Json方法,該方法是UI項目的一部分,如下所示,

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

但是,當我運行該項目並導航到注冊部分時,它會引發錯誤:找不到遠程驗證的URL。 我一直在查看以下內容,只是確認我沒有錯過任何東西:

MVC內部的遠程驗證

根據他們所做的事情和我所做的事情幾乎是相同的,我能想到的唯一會導致此問題的事實是,模型位於共享項目中,而模型在視圖中是必需的在UI項目中? 也許可能是其他?

您的方法需要

public JsonResult UsernameUnique(string Username)

RemoteAttribute發回屬性的值(不是模型)

旁注:如果需要發回模型的其他屬性以進行驗證,則可以使用RemoteAttributeAdditionalFields屬性

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"))]

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM