我想在mootools中扩展“ Form.Validator.Inline ”的“ showError ”功能。该功能在“选项”中声明。
我尝试了以下代码,但它无效。
var exFormValidator = new Class({
Extends: Form.Validator.Inline,
options: {
showError: function(element) {
var error = element.getPrevious();
if(error != null){
error.dispose();
}
this.parent(element);
}
}
});
我可以通过复制“ mootools-more ”中的代码来实现它,如下所示:
var exFormValidator = new Class({
Extends: Form.Validator.Inline,
options: {
showError: function(element) {
var error = element.getPrevious();
if(error != null){
error.dispose();
}
if (element.reveal) element.reveal();
else element.setStyle('display', 'block');
}
}
});
但我不认为这是做事的方式。有没有替代/正确的方法呢?
答案 0 :(得分:0)
找到了答案。 “ Form.Validator.Inline ”中有一个“ onShowAdvice()”事件。您必须按如下方式扩展它:
var formValidator = new Form.Validator.Inline(regForm, {
errorPrefix: '',
serial: false,
onShowAdvice: function(element, advice) {
var error = advice.getPrevious();
if(error != null) {
error.dispose();
}
}
});
showAdvice 函数正在调用showError。所以叫它会做的事情;但问题仍然存在。是否可以在“选项”中扩展功能?