在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中显示服务器端验证错误的主要内容,如果未能解决你的问题,请参考以下文章