【问题标题】:Tapestry 5.3 - Form ValidationTrackerTapestry 5.3 - 表单验证跟踪器
【发布时间】:2017-05-26 08:24:23
【问题描述】:

是否可以获取 Tapestry 表单组件中所有错误的字段,或者是否可以覆盖默认的 Tapestry 表单验证跟踪器?

【问题讨论】:

    标签: java tapestry


    【解决方案1】:

    “获取所有字段”是什么意思?

    如果要显示所有字段,它们会出现验证错误 所以像这样将“错误”组件插入到您的表单中:

    <t:form>
    
        <t:errors/>
    
        <t:label for="search"/>
        <t:textfield t:id="search"/>
    
        <input type="submit" value="Search"/>
    
    </t:form>
    
    </body>
    

    看看api docs

    【讨论】:

      【解决方案2】:

      如果您想在各个字段旁边显示错误,您可以通过自定义验证来实现

      在java端:

      @InjectComponent
      private Form myForm;
      
      @InjectComponent
      private TextField myTextField;
      
      @Property
      private String textFieldValue;
      
      public void onValidateFromMyForm()
      {
          if (myConditionBasedOnTextFieldValue)
          {
              myForm.recordError(myTextField, "Error message");
          }
      }
      

      在 .tml 方面

      <t:Form t:id="myForm">
          <t:TextField t:id="myTextField" value="textFieldValue"/>
          <t:LinkSubmit>Submit</t:LinkSubmit>
      </t:Form>
      

      提交表单后,java 端的 textFieldValue 将在调用 validate 事件之前填充文本字段的内容。 表单不会成功,因为它已经记录了错误,并且由于我们针对 myTextField 记录了错误,因此错误将呈现在文本字段本身旁边,而不是在

      上分组

      希望这能引导您朝着正确的方向前进

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-08-11
        • 1970-01-01
        • 2017-05-10
        • 2014-09-29
        • 2021-03-26
        • 1970-01-01
        相关资源
        最近更新 更多