簡體   English   中英

使用 JustValidate 遠程選項時如何防止顯示遠程錯誤消息?

[英]How to prevent remote error message from displaying when using JustValidate remote option?

我正在使用 JustValidate 庫( https://github.com/horprogs/Just-validate )進行表單驗證。 它在客戶端完美運行,但在執行遠程驗證時似乎無法正常運行。 例如:如果我們有一個輸入字段“電子郵件”,我們 Javascript 中的遠程驗證將如下面的代碼所示。

rules: {
    email: {
        email: true,
        remote: {
            url: '@Url.Action("Validate", "ActivityTypes")',
            sendParam: 'email',
            successAnswer: 'OK',
            method: 'GET'
        }
    }
}

每次用戶在電子郵件輸入中輸入內容時,都會將值發送到服務器並檢查它是否正常。 問題是你總是得到一個好的響應。 每次您收到該響應時,都會顯示輸入的錯誤消息(即使輸入已正確填寫)。 我的 controller 動作如下所示:

public async Task<IActionResult> Validate(ActivityType values)
    {
        var activityType = await _context.ActivityType
           .FirstOrDefaultAsync(m => m.Name == values.Name);
        if (activityType == null)
        {
           return NotFound();
        }



        return Ok();
}

我已經嘗試在 controller 中從一個動作重定向到另一個動作,返回 NotFound() 但仍然收到 Ok 響應,並且錯誤消息再次出現。 在 JustValidate 庫的 GitHub 頁面上嘗試演示時,我注意到輸入總是顯示輸入“電子郵件”的錯誤消息,即使它們不應該顯示。 有沒有人找到解決方法? 我已經在我所有表單的 80% 上使用了這個庫,並且不想為其他一些庫更改它。

由於您提到了successAnswer: 'OK'您需要將響應作為Content返回。 像這樣。

[HttpGet]
[Route("check-exists")]
public IActionResult CheckExists(string email)
{
    return email == "anuraj@example.com" ? Content("Not Okay") : Content("OK");
}

暫無
暫無

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

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