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

时间:2018-01-12 07:12:21

标签: javascript validation extjs

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

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

1 个答案:

答案 0 :(得分:0)

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();