`
andy020118
  • 浏览: 1492 次
  • 来自: ...
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

自定义校验对象如何进行客户端验证

阅读更多
最近在研究tapestry,对其它的客户端验证产生疑惑,代码如下:
html:
<html>
<head>
</head>
<body jwcid="@Body">
<table width="400" border="1">
    <form jwcid="loginForm">
        <tr>
            <td colspan="2" width="100%" align="center">
                <span jwcid="@Insert" value="ognl:errorMsg"/>
            </td>
        </tr>
        <tr>
            <td colspan="2" width="100%" align="center">LOGIN</td>
        </tr>
        <tr>
            <td width="32%" align="right">Username:</td>
            <td align="left"><input type="text" jwcid="username" size="20"/></td>
        </tr>
        <tr>
            <td width="32%" align="right">Password:</td>
            <td align="left"><input type="password" jwcid="password" size="20"/></td>
        </tr>
        <tr>
            <td align="center"><input type="submit" value="Login"/></td>
            <td> <input jwcid="startDate@DatePicker" value="ognl:startDate" displayName="Start Date"/></td>
        </tr>
        <tr>
            <td colspan="2" align="center"><a href="#" jwcid="registe">Registe</a></td>
            <td colspan="2" align="center"><a href="#" jwcid="showAjax">ShowAjax</a></td>
        </tr>
    </form>
</table>
</body>
</html>

page:
<page-specification class="com.suzsoft.framework.example.web.pages.Home">
    <property name="password"/>
    <property name="errorMsg"/>
    <property name="startDate"/>
    <bean name="passwordValidator" class="com.suzsoft.framework.common.PasswordValidator"></bean>
    <bean name="delegate" class="org.apache.tapestry.valid.ValidationDelegate"></bean>
    <component id="loginForm" type="Form">
        <binding name="listener" value="listener:loginSubmit"/>
        <binding name="clientValidationEnabled" value="true" />
        <binding name="delegate" value="beans.delegate"></binding>
    </component>
    <component id="username" type="TextField" >
        <binding name="value" value="username" />
        <binding name="validators" value="validators:required"/>
    </component>
    <component id="password" type="TextField">
        <binding name="value" value="password"></binding>
        <binding name="validators" value="beans.passwordValidator"/>
        <binding name="hidden" value="true"/>
    </component>
    <component id="registe" type="PageLink">
        <binding name="page" value="literal:Registe"></binding>
    </component>
    <component id="showAjax" type="PageLink">
        <binding name="page" value="literal:ShowAjax"></binding>
    </component>
</page-specification>

自定义校验对象java文件:
public class PasswordValidator implements Validator {
    public void validate(IFormComponent field, ValidationMessages message, Object object) throws ValidatorException {
        String password = (String) object;
        if (!"123456".equals(password)) {
            throw new ValidatorException("The password is invalid!");
        }

    }

    public boolean getAcceptsNull() {
        return true;  //To change body of implemented methods use File | Settings | File Templates.
    }

    public boolean isRequired() {
        return true;  //To change body of implemented methods use File | Settings | File Templates.
    }

    public void renderContribution(IMarkupWriter writer, IRequestCycle cycle, FormComponentContributorContext context, IFormComponent field) {
        writer.attribute("style","background-color:#999999");
    }
}



为何我clientValidationEnabled==true,只有username产生客户端验证,而password却没有在客户端产生javascript,进行客户端校验呢?请.
分享到:
评论
2 楼 andy020118 2007-05-10  
的确是这样
1 楼 tapestry 2007-05-10  
客户端验证只支持Tapestry内置的验证,自定义的验证是要通过java调用的,那是服务器端验证。

相关推荐

    自定义基于jQuery的客户端表单验证工具

    我这里设计了一个简单的javascript客户端验证工具,在页面中只需要对要进行验证的表单(form)及其所属的表单域对象(input)进行属性声明,即可完成配置,基本不需要手工书写javascript代码即可完成验证工作。

    struts2的自定义校验器例子

    客户端验证通常通过JavaScript在用户浏览器中进行,而服务器端验证则在服务器上执行,确保即使禁用JavaScript也能保证数据安全。本示例主要关注服务器端验证。 1. **创建自定义校验器** 自定义校验器是实现特定...

    Asp.Net MVC之客户端校验

    在Asp.Net MVC框架中,客户端验证是一种增强用户体验的有效手段,它允许在用户提交表单前在浏览器端进行数据验证,避免了不必要的服务器往返请求,从而提高了应用性能。本课程将深入探讨Asp.Net MVC中的客户端验证...

    我是佛山人版客户端验证

    在客户端验证中,它们常用于校验输入数据的格式,例如检查邮箱格式是否合法(`/^\S+@\S+\.\S+$/`),或者手机号码是否符合中国规范(`/^1[3-9]\d{9}$/`)。开发者可以通过构造正则表达式来定义复杂的数据格式规则。 ...

    Struts2 校验器

    1. **客户端验证**:在用户提交表单之前,客户端验证可以通过JavaScript或者AJAX技术在浏览器端进行,这样可以即时反馈错误,避免不必要的服务器请求。Struts2提供了.struts2-jquery-validation-plugin等插件支持...

    自定义表单验证框架

    2. **客户端验证**:在浏览器端进行的验证,可以立即向用户提供反馈,减少了不必要的服务器请求。 3. **服务器端验证**:即便客户端验证失败,服务器端验证仍是必需的,以防恶意用户绕过客户端验证。 4. **异常...

    struts2 短路校验(客户端校验)

    短路校验,也称为客户端校验,是一种优化用户体验的策略,它在用户提交表单前就在浏览器端进行数据校验,如果发现错误,会立即反馈给用户,避免了不必要的服务器请求。 客户端校验通常使用JavaScript或HTML5的内置...

    openapi自定义验证框架

    OpenAPI自定义验证框架是开发Web服务时常用的一种工具,它允许开发者针对API接口的数据输入和输出进行定制化的校验,以确保数据的准确性和一致性。这个框架通常基于OpenAPI规范,该规范定义了如何描述RESTful API,...

    ASP.NET MVC框架开发系列课程(18):客户端校验

    客户端验证是在用户浏览器端进行的,它允许我们在用户提交表单之前检查输入数据的有效性。这种方式的优点在于可以即时反馈错误,避免了不必要的服务器请求,提高了应用的响应速度。ASP.NET MVC框架内建支持客户端...

    JSValidation-----强大而灵活的表单客户端验证框架

    JSValidation是强大灵活的客户端验证框架。在应用服务器或者开发框架不提供验证的情况下,例如,普通的JSP, ASP, PHP等开发,以及一些不提供验证支持的开发框架,如Tapestry, Velocity等,JSValidation提供了一种...

    自定义验证控件 JS+.net

    这样,即使客户端验证被绕过,服务器仍能确保数据的正确性。 5. **整合前后端**:在ASP.NET页面中,将自定义的JavaScript验证与.NET后端验证控件结合。将前端验证函数绑定到HTML元素,同时在服务器端的.NET控件中...

    spring mvc服务端表单验证实例

    在Web应用中,服务端验证是必要的,因为客户端验证可能被绕过。服务端验证确保所有提交的数据都符合预设的规则,例如非空、长度限制、格式校验等。Spring MVC提供了一套强大的工具来实现这一目标。 3. **使用注解...

    vue表单验证validate.min.js使用例子,formdata 文件上传表单提交

    总结起来,这个压缩包提供的示例展示了如何在Vue应用中使用`validate.min.js`进行表单验证,使用`FormData`进行文件上传,以及通过`FileReader`获取文件的缩略图。这三个技术结合,可以创建一个完整的用户输入验证和...

    动态Web应用中客户端数据校验技术探讨.pdf

    实现客户端数据校验的方法通常包括创建一系列针对不同数据类型的校验公用函数,存储在公共函数文件中,然后在客户端请求页面时调用这些函数进行数据验证。例如,可以编写函数检查字符串是否为空,或者进行数字、日期...

    JSP客户端表单验证框架JSValidation

    - **与服务器端框架集成**:JSValidation与常见的Java后端框架如Spring MVC、Struts2等有良好的集成,可以在客户端验证失败时返回相应的错误信息。 - **良好的用户体验**:验证过程在客户端进行,可以即时反馈给用户...

    jQuery插件Validate实现自定义校验结果样式

    首先,要实现自定义校验结果样式,需要引入jQuery Validate插件以及相关的依赖包。在本例中,依赖包包括了jQuery本身以及Validate插件的库文件。在HTML文档中通过`&lt;script&gt;`标签引入这些文件,并确保它们的路径正确...

    struts2 校验框架

    - 始终进行服务器端验证,即使客户端验证已经通过,因为客户端验证容易被绕过。 - 保持校验规则的清晰和模块化,以便于复用和维护。 - 对敏感数据进行额外的验证和清理,如防止SQL注入或XSS攻击。 理解并熟练...

    struts2笔记之校验表单信息

    Struts2是一个流行的Java Web框架,它提供了丰富的功能来帮助开发者构建动态Web应用程序。...无论是使用XML配置文件、注解还是自定义校验方法,都能有效地实现表单数据的验证,为Java Web开发带来了极大的便利。

    javaWEB写到校验器代码

    开发者可以自定义校验规则,实现该接口并编写对应的校验方法。此外,Spring还提供了JSR-303/JSR-349标准的`javax.validation`包,支持使用注解进行数据校验,如`@NotNull`, `@Size`, `@Pattern`等。 在"service-...

    Web客户端统一验证JavaScript函数库组件概述Web客户端统一验证JavaScript函数库组件概述Web客户端统一验证JavaScript函数库组件概述Web客户端统一验证JavaScript函数库组件概述

    Web客户端统一验证JavaScript函数库组件是前端开发中一个至关重要的工具,它主要用于在用户提交数据前进行实时的数据验证,确保输入的信息符合预期的格式和规则,从而提高用户体验并减轻服务器端的压力。JavaScript...

Global site tag (gtag.js) - Google Analytics