[ERLEDIGT] Zugriff auf die Fehlerausgaben in errorSummary




<?php echo CHtml::errorSummary($contact); ?>



Statt diese Ausgabe am Anfang zu erhalten, würde ich gerne einzeln auf das "[_errors:private] => Array" zugreifen.

Wie greife ich darauf zu?

echo $contact->name; funktioniert natürlich nicht…




    [_errors:private] => Array

        (

            [email] => Array

                (

                    [0] => Email kann nicht leer sein.

                )



komplette Ausgabe


ContactForm Object

(

    [name] => testen

    [email] => 

    [subject] => 

    [body] => 

    [verifyCode] => 

    [_validators:private] => Array

        (

            [0] => CRequiredValidator Object

                (

                    [attributes] => Array

                        (

                            [0] => name

                            [1] => email

                            [2] => subject

                            [3] => body

                        )


                    [message] => 

                    [on] => Array

                        (

                        )


                    [_e:private] => 

                    [_m:private] => 

                )


            [1] => CEmailValidator Object

                (

                    [pattern] => /^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/

                    [fullPattern] => /^[^@]*<\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*>$/

                    [allowName] => 

                    [checkMX] => 

                    [checkPort] => 

                    [allowEmpty] => 1

                    [attributes] => Array

                        (

                            [0] => email

                        )


                    [message] => 

                    [on] => Array

                        (

                        )


                    [_e:private] => 

                    [_m:private] => 

                )


            [2] => CCaptchaValidator Object

                (

                    [caseSensitive] => 

                    [captchaAction] => captcha

                    [allowEmpty] => 

                    [attributes] => Array

                        (

                            [0] => verifyCode

                        )


                    [message] => 

                    [on] => Array

                        (

                        )


                    [_e:private] => 

                    [_m:private] => 

                )


        )


    [_errors:private] => Array

        (

            [email] => Array

                (

                    [0] => Email kann nicht leer sein.

                )


            [subject] => Array

                (

                    [0] => Subject kann nicht leer sein.

                )


            [body] => Array

                (

                    [0] => Body kann nicht leer sein.

                )


            [verifyCode] => Array

                (

                    [0] => Der Prüfcode ist falsch.

                )


        )


    [_va:private] => 

    [_se:private] => 

    [_e:private] => 

    [_m:private] => 

)



Ich glaube nicht, dass du das möchtest. ;)

Im Ernst: Private Variablen sind genau deshalb privat, damit man nicht drauf zugreifen kann und das nicht ohne Grund. Evtl. suchst du nach sowas wie CHtml::error()? Damit kannst du einzelne Fehler pro Attribut anzeigen. Falls du ein Array aller aufgetretenen Fehler brauchst, dann verwende getErrors().