当前位置: 首页 > 知识库问答 >
问题:

如何从引导模式中清除服务器端MVC模型验证错误?

胡景焕
2023-03-14

我有一个带有“添加”按钮的“客户端列表”页面,该按钮弹出一个引导模式,允许用户输入新客户端的详细信息。

模态的主体由一个部分视图生成,该视图最初呈现为“列表”页面的一部分。

当用户单击add时,表单将通过AJAX调用提交给服务器。如果存在模型错误,那么服务器将通过只重新发送模态的主体(带有验证错误)来响应,该主体在客户端被注入回模态中。

我使用@html.validationsummary()@html.validationmessagefor()以通常的方式添加模型错误。

如果用户现在单击“取消”,然后稍后再次单击“添加”按钮,则模式将重新出现。在这种情况下,我想把它当作一个新的开始,从模态的主体中清除所有的验证错误。我知道如何清除客户端(“不引人注目”)验证错误,但如何清除@html.validationsummary()@html.validationmessagefor()添加的错误。

我可以返回服务器并要求它用一个新的模型重新呈现,但我想我正在寻找一个不涉及另一个AJAX调用的快捷方式。

共有1个答案

马浩淼
2023-03-14

请尝试以下代码:

$.fn.clearErrors = function () {
    $(this).each(function() {
        $(this).find(".field-validation-error").empty();
        $(this).trigger('reset.unobtrusiveValidation');
    });
};

如果你觉得很难理解,下面的代码也有同样的效果:

function resetValidation() {
        //Removes validation from input-fields
        $('.input-validation-error').addClass('input-validation-valid');
        $('.input-validation-error').removeClass('input-validation-error');
        //Removes validation message after input-fields
        $('.field-validation-error').addClass('field-validation-valid');
        $('.field-validation-error').removeClass('field-validation-error');
        //Removes validation summary 
        $('.validation-summary-errors').addClass('validation-summary-valid');
        $('.validation-summary-errors').removeClass('validation-summary-errors');

    }
 类似资料:
  • 但是,我必须验证manager和operator的id是否有效,也就是说,我将验证user表中是否有匹配的id。 所以我想知道如何实现这种验证? 更新1:使用验证器

  • 问题内容: 例如,文件系统的架构,目录包含文件列表。该模式由文件规范,下一个子类型“ image”和另一个“ text”组成。 在底部是主目录架构。目录具有属性内容,该属性内容是应作为文件子类型的项目的数组。 基本上,我正在寻找一种告诉验证器从正在验证的json对象中的属性中查找“ $ ref”的值的方法。 示例json: “伪”模式 说明“图像”和“文本”定义包含在同一模式中,但它们可能在其他位

  • 我在验证JSON时遇到了一些错误。我无法理解这些错误,有人能帮我解释一下吗。 } 这是json。 消息:JSON与“anyOf”中的任何模式都不匹配。架构路径: 消息:无效类型。应为数组,但得到的是字符串。架构路径: 消息:值“标识”载体“未在枚举中定义。架构路径: 消息:字符串“uui # abb 0 ef 56-8562-4056-aa62-AFB 758 a 150 ad”未根据格式“uri

  • 由于各种原因,Emacs 启动比较耗时。可以启动一个 Emacs 的守护进程 emacs --daemon 然后通过 emacsclient 来连接服务器 emacsclient -t --alternate-editor jed file -t 在当前控制台打开 emacs 窗口 --alternate-editor jed 如果不能连接到 emacs 服务器,则使用 jed 编辑器 也可

  • 我正在处理引导表。文之心自举表的扩展。 引导表可编辑 我正在使用OnEditable向服务器发送数据(使用Laravel处理服务器请求)。我收到关于结果的错误代码作为回报。但我似乎找不到一种方法来显示可编辑的Popover上的错误,或者阻止用旧值替换新值。当我们验证输入时,会显示Like错误。 我已经检查了可编辑的- 这是我的密码: 我希望这种错误会显示: 预期产出

  • 我从http://json-schema.org/draft-07/schema中注意到,它支持if then else语句根据值切换验证模式,但我不知道如何实现它们。