سؤال

كيف يمكنني عرض رسالة خطأ التحقق من صحة JSP التي تحدث نتيجة @AssertTrue حاشية. ملاحظة؟ إنه غير مرتبط بحقل معين ، لكنني أستخدمه للتحقق من مجموعة من الحقول. إذا استخدمت <form:errors path="*"/> هذا سيعرض جميع الأخطاء لهذا النموذج؟

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

المحلول 2

إعلان خاصية منطقية هو ما يبدو أنه يعمل من أجل هذا. لذلك إذا كان هناك:

@AssertTrue
public boolean isConditionTrue() {
   ...
   ...
}

ثم إعلان عقار مثل:

private boolean conditionTrue;

يعمل.

نصائح أخرى

من ما اختبرته أمر مهم كيف يمكنك تسمية وظيفة الاختبار الخاصة بك. ويجب عليك تسميته بشكل صحيح.

لا تحتاج إلى حقل أو Getter أو Setter ولكن يجب أن تبدأ وظيفتك ببيان "IS*".

Fe.

@AssertTrue
public boolean isConditionTrue() {
   ...
   ...


}

أو

@AssertTrue
public boolean isSomethingElseOk() {
   ...
   ...
}

على الرغم من أنك تحتاج إلى حقل و getter/setter إذا كنت بحاجة إلى استخدام نموذج خطأ مع المسار ، مثل:

<form:errors path="someFieldToDisplay" />

لكنني أعتقد أن هذا واضح تمامًا.


بعض مشكلة المخطط التي لم أخطو فيها ولكن قد تكون مفيدة:

قد يكون هذا مفيدًا أيضًا:عدم وجود رسائل خطأ.

ولكن إذا كنت تستخدم Schema بدون علامة الإصدار ، فإنه يستخدم أحدث إصدار افتراضيًا.

يجب عليك تسمية الممتلكات الخاصة بك مثل هذا:

@AssertTrue(message = "....")
private boolean conditionTrue; //***NOT isConditionTrue***

public boolean isConditionTrue() {
    return conditionTrue;
}

public void setConditionTrue(boolean conditionTrue) {
    this.conditionTrue= conditionTrue;
}

<form:errors path="*"/> or
<form:errors path="conditionTrue"/>
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top