在extjs中显示服务器端验证错误

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在extjs中显示服务器端验证错误相关的知识,希望对你有一定的参考价值。

对于表单字段,我们可以使用validatorvalidation函数来验证和显示extjs中的错误。如何显示服务器端验证的类似错误?即验证发生在后端,如果满足某个条件,则应显示错误。


我尝试过使用markInvalid("message"),但这只会突出显示该字段并且不会显示该消息,并且当用户点击该字段时突出显示也会消失。任何建议表示赞赏。谢谢。

答案

markInvalid实际上是正式的方式。默认情况下,消息显示在工具提示中,您可以通过msgTarget: 'under'更改它。

如果你想保留错误信息,那么你必须问自己,直到什么时候。例如,当我更改字段中的值时,它不应再显示错误消息。

要保持服务器的消息直到值更改,您必须向该字段添加自定义验证器:

validator: function(val) {
    if(this.invalidValue && val==this.invalidValue) return this.invalidMsg;
    return true;
}

然后,当msg从服务器返回时,调用:

field.invalidValue = field.getValue();
field.invalidMsg = msg;
field.validate();

以上是关于在extjs中显示服务器端验证错误的主要内容,如果未能解决你的问题,请参考以下文章

ExtJS4:如何在文本框、组合框等旁边显示验证错误消息

ExtJS 4.2.1 - 表单自定义字段验证

Smack 4.1 SASL 身份验证错误

获取错误(生成 XML 文档时出错。)在 asp.net 的 extjs 中从服务器端获取数据

如何在 extjs4 中使用 tpl 显示嵌套的 json

kbmmw 与extjs 通过JSON Base64 显示图片