【问题标题】:How to do form validation with select2 and Wicked?如何使用 select2 和 Wicked 进行表单验证?
【发布时间】:2020-06-18 14:07:49
【问题描述】:

我在检票口中有 Select2,我想在上面添加表单验证。我使用所需的属性,但它不起作用。我希望验证不成功后的 select2 有红色背景,或者至少是红色边框。当我尝试提交具有必需属性的表单时,它不进行任何验证。选择我尝试进行验证的地方是原产国。有人可以给我一点,如何实现这种行为?感谢您的帮助。

<wicket:head xmlns:wicket="http://wicket.apache.org/">
    <style>
       /*.form-group .form-control {*/
       /*     padding: 0;*/
       /*     height: 33px;*/
       /* }*/

        .p-0 {
            padding: 0px !important;
            height: 30px;
        }
    </style>


</wicket:head>
<wicket:panel xmlns="http://www.w3.org/1999/xhtml" xmlns:wicket="http://wicket.apache.org/">
    <div class="col-xs-12">
        <div class="col-xs-12">
            <div class="form-group">
                <div class="col-sm-3">
                    <input type="submit" value="Request" class="btn btn-danger"/>
                </div>

                <div class="col-sm-3">
                    <label for="quotationId" wicket:id="quotationIdLabel"></label>
                    <div>
                        <input wicket:id="quotationId" type="text" size="20"/>
                    </div>
                </div>

                <div class="col-sm-3">
                    <label for="product" wicket:id="productLabel"></label>
                    <div>
                        <select class="form-control" wicket:id="product"/>
                    </div>
                </div>

                <div class="col-sm-3">
                    <label for="contract" wicket:id="contractLabel"></label>
                    <div>
                        <input type="hidden" wicket:id="contract"/>
                    </div>
                </div>

                <div class="col-sm-3" style="padding: 0">
                    <label for="customer" wicket:id="customerLabel"></label>
                    <div>
                        <input class="form-control p-0" type="hidden"
                               wicket:id="customer" />
                    </div>
                </div>

                <div class="col-sm-3">
                    <label for="serviceLevel" wicket:id="serviceLevelLabel"></label>
                    <div>
                        <select class="form-control" wicket:id="serviceLevel"/>
                    </div>
                </div>

                <div class="col-sm-3">
                    <label for="equipmentType" wicket:id="equipmentTypeLabel"></label>
                    <div>
                        <input class="form-control p-0" type="hidden" wicket:id="equipmentType"/>
                    </div>
                </div>

                <div class="col-sm-3">
                    <label for="commodity" wicket:id="commodityLabel"></label>
                    <div>
                        <select class="form-control" wicket:id="commodity"/>
                    </div>
                </div>

                <span class="col-sm-3">
                    <label for="originCountry" wicket:id="originCountryLabel"></label>
                    <div>
                       <input type="hidden"  wicket:id="originCountry"  required/>
                    </div>
                </span>

                <div class="col-sm-3">
                    <label for="originDgfStation" wicket:id="originDgfStationLabel"></label>
                    <div>
                        <input type="hidden" wicket:id="originDgfStation"/>
                    </div>
                </div>

                <div class="col-sm-3">
                    <label for="destinationCountry" wicket:id="destinationCountryLabel"></label>
                    <div>
                        <input type="hidden" wicket:id="destinationCountry"/>
                    </div>
                </div>

                <div class="col-sm-3">
                    <label for="destinationDgfStation" wicket:id="destinationDgfStationLabel"></label>
                    <div>
                        <input type="hidden" wicket:id="destinationDgfStation"/>
                    </div>
                </div>

                <div class="col-sm-3">
                    <label for="shippingTerms" wicket:id="shippingTermsLabel"></label>
                    <div>
                        <select class="form-control" wicket:id="shippingTerms"/>
                    </div>
                </div>

            </div>

            <br/>
        </div>
    </div>

    <div class="clearfix"></div>

</wicket:panel>

【问题讨论】:

标签: forms validation jquery-select2 wicket


【解决方案1】:

我认为问题在于无法在 HTML 中按要求声明的隐藏字段。您可能需要使用一些技巧来使用常规文本字段并使用 CSS 将其隐藏。看到这个答案:make hidden field required

【讨论】:

  • 问题是 select2 需要文本字段作为隐藏的输入样式。它在幕后生成 div。所以我不能为隐藏的输入样式创建 hack。
猜你喜欢
  • 1970-01-01
  • 2013-09-28
  • 2019-06-27
  • 2018-06-05
  • 2021-02-09
  • 1970-01-01
  • 1970-01-01
  • 2013-02-28
  • 2019-04-01
相关资源
最近更新 更多