我正在尝试做一个简单的更改密码表单的跨域验证。例如,新密码和确认密码相同,新密码与旧密码不同,等等。
看起来我应该为Tapestry.FORM_VALIDATE_EVENT提供一个处理程序,但我不能找出正确的方法来发出错误信号并提供消息。
tapestry-jquery.js源代码中的注释指示我应该将event.result发送给false,但这似乎没有任何作用。这些注释似乎也是从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进行跨表单验证的实用示例
谢谢,托尼
发布于 2016-07-17 01:25:20
下面是一个示例,它展示了如何使用“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");
}
});https://stackoverflow.com/questions/29300603
复制相似问题