技术开发 频道

Tapestry表单输入与验证,表单数据失败

    错误及修饰Errors and Decorations

    注意:这部分并没有更新到涉及客户端验证的介绍。

    当你第一次激活Login页里,表单域及表单会被正常呈现等待输入:
    注意这里的Label组件怎样显示表单域的文本名字。我们未曾做过任何显式地配置,组件的id ("User Name" 和 "Password")已经转换成"User Name" 和 "Password",倒底发生了什么?。

    如果你就这样提交了表单,表单域就会违反了"required"约束,页面将会重新显示以呈现给用户错误信息:

    这里有两个微妙事情,首先,Tapestry跟踪了所有表单域的所有错误信息,Errors组件显示在表单的最顶端;其次,默认的验证修饰给标注(labels)和表单域的class属性加上了t-error CSS样式。Tapestry提供了默认的t-error CSS样式使得它们变红。

    接下来,我们将在user name栏上填值,但不给password栏提供足够的字符:

    User name栏正常,仅password栏有一个错误存在。PasswordField组件默认下通常显示一空值,另外我们会看到仅password显示在…

    如果你输入了足够的字符后提交,我们会看到Login页面是如何将逻辑错误加入到表单域的错误里:

    这真是天衣无缝,基于应用的逻辑错误看起来感觉就像内置验证器的行为。
0
相关文章