需要MVC远程属性双提交

时间:2016-08-25 20:28:59

标签: asp.net-mvc validation attributes

我的ViewModel上存在远程属性问题。

基本上我有一个职位,我已经设置了如果你想编辑一个职位,它需要当前的职位名称并填充下拉列表。

如果您从列表中选择一个,则会进行ajax调用以返回包含所选作业标题数据的部分。

以下是编辑职位模型

的标题属性
    [Required(ErrorMessage = "Please enter a Title")]
    [Remote("IsUniqueTitle", "Administration", HttpMethod = "POST", AdditionalFields = "SelectedJobTitleId", ErrorMessage = "Job Title with title already exists. Please try another one")]
    [IsUniqueTitle("SelectedJobTitleId", ErrorMessage = "Job Title with title already exists. Please try another one")]
    [MaxLength(32, ErrorMessage = "Title can not be more than 32 characters")]
    [DisplayName("Title")]
    public string Title { get; set; }

通常用于检查具有该名称的内容是否已存在。 这就是为什么它需要一个工作标题的id,它可以在检查唯一性时跳过选定的一个。

这是控制器中的Action

    [OutputCache(Location = OutputCacheLocation.None, NoStore = true)]
    [HttpPost]
    [ActionName("isuniquetitle")]
    public JsonResult IsUniqueTitle(string title, int selectedJobTitleId = 0)
    {
        var response = _jobTitleService.IsUniqueTitle(
            new IsUniqueNameRequest(selectedJobTitleId, title));

        var result = false;

        if (response.Success)
        {
            result = response.Entity;
        }

        return Json(result, JsonRequestBehavior.AllowGet);
    }

我遇到的一个大问题是,当我单击提交按钮时,它会对此操作进行检查,但之后我不得不再次单击提交按钮以将表单实际发布到服务器并进行更改。

我到处寻找,找不到类似的东西。有人遇到过这个问题吗?

0 个答案:

没有答案