对于表单字段,我们可以使用validator
和validation
函数来验证和显示extjs中的错误。如何显示服务器端验证的类似错误?即验证发生在后端,如果满足某个条件,则应显示错误。
我已尝试使用markInvalid("message")
,但这只会突出显示该字段,并且不会显示该消息,并且当用户点击该字段时突出显示也会消失。
任何建议表示赞赏。感谢。
答案 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();