我创建了一个自定义验证器,但是当我尝试在 validators.xml 中定义它时,我得到了一个例外。
我确认只有在将以下代码行添加到 validators.xml 时才会出现错误:
}else if(error === false) {
jQuery('.form-error').hide();
jQuery('.postcode-wrapper .go').click(function(){
jQuery(".search-results").slideDown("slow");
});
var location = encodeURIComponent(jQuery('.postcode').val()); // Fix your selector
console.log(location);
$('iframe').attr('src', 'https://google.com/maps&location=' + location); // Add this
jQuery('.postcode-wrapper .go').click();
}
即使我使SinFieldCheck验证器完全基本,仍然会出现错误(这证实问题不在于验证器本身)。
尽管我的 -validation.xml 文件中未使用此自定义验证程序,但仍出现错误
如果我删除此自定义验证程序,只使用默认验证程序,我的验证将按预期工作。
根据我所做的研究,这可能是DTD或struts版本问题......我的 validators.xml DTD是:
<validator
name="validateSin"
class="ca.gc.cra.mmbb.mba.validators.SinFieldCheck"/>
我使用的struts版本是 2.3.16.2 。
请注意,我的项目中有一些struts 1.我怀疑这会导致任何混乱......但
我收到的错误:
<!DOCTYPE validators PUBLIC
"-//Apache Struts//XWork Validator Config 1.0//EN"
"http://struts.apache.org/dtds/xwork-validator-config-1.0.dtd">