首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >带有Tapestry 5.3和tapestry-jquery的Tapestry.FORM_VALIDATE_EVENT

带有Tapestry 5.3和tapestry-jquery的Tapestry.FORM_VALIDATE_EVENT
EN

Stack Overflow用户
提问于 2015-03-27 20:24:04
回答 1查看 122关注 0票数 1

我正在尝试做一个简单的更改密码表单的跨域验证。例如,新密码和确认密码相同,新密码与旧密码不同,等等。

看起来我应该为Tapestry.FORM_VALIDATE_EVENT提供一个处理程序,但我不能找出正确的方法来发出错误信号并提供消息。

tapestry-jquery.js源代码中的注释指示我应该将event.result发送给false,但这似乎没有任何作用。这些注释似乎也是从Tapestry库的原型版本复制/粘贴的,所以我不确定它们是否真的适用。

我尝试像其他自定义验证器一样抛出一个异常,但似乎没有任何效果。

这是我到目前为止尝试过的:

代码语言:javascript
复制
        $("#" + 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进行跨表单验证的实用示例

谢谢,托尼

EN

回答 1

Stack Overflow用户

发布于 2016-07-17 01:25:20

下面是一个示例,它展示了如何使用“Tapestry -jquery”在tapestry 5.3.8中报告自定义JavaScript验证器中的验证错误:

代码语言: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");
   }
});
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29300603

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档