حدث ارتباط خطوط يؤدي إلى التحقق من الصحة غير الصحيح

StackOverflow https://stackoverflow.com/questions/3006375

  •  25-09-2019
  •  | 
  •  

سؤال

لدي خطوط: علامة الارتباط في JSP مع سمة الحدث:

<stripes:link href="${actionBean.context.currentStage.stripesForwardAction}"  addSourcePage="true" event="showTab2Link">

هذا يؤدي إلى التحقق من الصحة إلى الخصائص المتداخلة:

    @ValidateNestedProperties({
    @Validate(field="county", required=true, minlength=2, maxlength=2, mask="\\d\\d"),
    @Validate(field="parish", required=true, minlength=3, maxlength=3, mask="\\d\\d\\d"),
    @Validate(field="holding", required=true, minlength=4, maxlength=4, mask="\\d\\d\\d\\d")
}) 

ومع ذلك ، سيكون هذا جيدًا إذا كانت القيم الفعلية التي لا يوجد فيها التحقق من الصحة موجودة ، لكنها موجودة داخل HTML وعند تصحيح الفول. لماذا ستؤدي الخطوط: الارتباط إلى هذا؟
إذا قمت بتغييره إلى خطوط: أرسل ، فلا بأس.

شكرًا،

ديف

هل كانت مفيدة؟

المحلول

السبب الذي يتم تشغيله هو أن الخطوط: يجب أن يكون إرسال الحقول في النموذج ، لذلك يتم إرسال هذه الحقول إلى الخادم عند تقديم النموذج. باستخدام الرابط ، لا تحصل على أي حقول إلا إذا قمت بإضافتها كمعلمات ارتباط.

يمكنك إصلاح هذه واحدة من طريقتين ، حسب:

هل تريد تلك الحقول الموجودة على الفول عند النقر فوق الرابط؟ بعد ذلك ، ستحتاج إلى ملء الرابط بالمعلمات حتى يتم إضافتها للحصول على نمط سلسلة الاستعلام:

<stripes:link href="${actionBean.context.currentStage.stripesForwardAction}"  addSourcePage="true" event="showTab2Link">
<stripes:param name="county" value="${actionBean.county}" />
<stripes:param name="parish" value="${actionBean.parish}" />
<stripes:param name="holding" value="${actionBean.holding}" />
link text
</stripes:link>

من ناحية أخرى ، إذا لم تكن بحاجة إليها في الفول لهذا الحدث ، فيمكنك إخبار ValidatEntedProperties بتجاهل هذا الحدث:

@ValidateNestedProperties({
    @Validate(field="county", on="!showTab2Link", required=true, minlength=2, maxlength=2, mask="\\d\\d"),
    @Validate(field="parish", on="!showTab2Link", required=true, minlength=3, maxlength=3, mask="\\d\\d\\d"),
    @Validate(field="holding", on="!showTab2Link", required=true, minlength=4, maxlength=4, mask="\\d\\d\\d\\d")
}) 

بعد ذلك ، لن يتم تشغيل التحقق من الصحة على الحدث showtab2link ما لم يتم توفيره بالفعل.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top