سؤال

أنا أتعامل مع تخصيص عرض الأخطاء في النموذج الخاص بي هذا المثال.

ها هو رمزتي:

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 () ، حيث 'رسالة' 'هو عنصر واجهة مستخدم في النموذج الخاص بك. لا تستخدم $ هذا ، لأنه لا يحتفظ بالنموذج في هذا السياق.

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