لا يمكن الحصول على خطأ مخصص للعمل في Symfony 1.4
-
27-09-2019 - |
سؤال
أنا أتعامل مع تخصيص عرض الأخطاء في النموذج الخاص بي هذا المثال.
ها هو رمزتي:
if ($this['message']->hasError()) {
$error_msg = '<ul>';
foreach ($this['message']->getError() as $error) $error_msg .= "<li>$error</li>";
$error_msg .= '</ul>';
}
return $error_msg;
لكن عندما $this['message']
لديه خطأ يعود هذا الرمز '<ul></ul>'
هكذا يبدو foreach ($this['message']->getError() as $error)
لا يسبب التكرار
$this['message']->getError()
عائدات sfValidatorError
كائن - ربما تم تغيير شيء ما في Symfony 1.4 ولم يعد أمرًا لا يطاق ...
في البداية اعتقدت أن كل السحر في هذا المثال حدث بسبب وضع الكائن في $error
عن طريق التكرار ينفذ __toString () ولكن يبدو أنه لا يوجد تكرار يحدث على الإطلاق ...
المحلول
يجب أن يكون لديك نموذج متغير $ الذي يحمل النموذج الذي تعرضه ، ويجب أن يكون الرمز نموذج $ ['message']-> haserror () و $ ['message']-> geterror () ، حيث 'رسالة' 'هو عنصر واجهة مستخدم في النموذج الخاص بك. لا تستخدم $ هذا ، لأنه لا يحتفظ بالنموذج في هذا السياق.