我正在尝试在简单的更改密码表单上进行跨领域验证。例如,新密码和确认密码相同,新密码与旧密码不同等。
看来我应该为Tapestry.FORM_VALIDATE_EVENT
提供一个处理程序,但我无法找出发出错误信号并提供信息的正确方法。
tapestry-jquery.js
来源中的评论表明我应该发送event.result
为假,但这似乎没有做任何事情。这些注释似乎也是Tapestry库的原型版本的复制/粘贴,因此我不确定它们是否真正适用。
我尝试像其他自定义验证程序一样抛出异常,并且似乎没有做任何事情。
这是我到目前为止所尝试的内容:
$("#" + specs.form).on(Tapestry.FORM_VALIDATE_EVENT, function (event) {
var $currPassword = $("#" + specs.currentPassword).val();
var $newPassword = $("#" + specs.newPassword).val();
var $confirmPassword = $("#" + specs.confirmPassword).val();
if ($currPassword == $newPassword) {
// throw "wtf";
}
if ($newPassword != $confirmPassword) {
// throw "other wtf";
}
event.result = false;
return event;
});
是否有人使用tapestry-jquery
进行交叉表单验证的工作示例?
由于 贝
答案 0 :(得分:0)
这是一个示例,演示如何使用" tapestry-jquery"
在Tapestry 5.3.8中的自定义JavaScript验证器中报告验证错误var field = $('#input-should-be-validated');
field.tapestryFieldEventManager(); //initialize
$.tapestry.utils.addValidator(field, function(value) {
if(value is NOT VALID){
var form = field.closest('form');
form.formEventManager("setValidationError", true);
field.tapestryFieldEventManager("showValidationMessage", "NOT VALID");
}
});