تحديث/صحة جزءا لا يتجزأ من الأشكال قبل الحفظ في symfony

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

  •  25-09-2019
  •  | 
  •  

سؤال

أود أن صحة جزءا لا يتجزأ من حقل النموذج قبل أن يحصل حفظها في قاعدة البيانات.حاليا سيوفر قيمة فارغة في قاعدة البيانات إذا كان الحقل فارغا.أنا السماح حقول فارغة, ولكن لا أريد شيئا إدراجها إذا كان الحقل فارغا.

أيضا سؤال سريع, كيفية تغيير قيم الحقول قبل التحقق من صحة/حفظ جزءا لا يتجزأ من شكل الملعب ؟

$this->نموذج>getObject يعمل في العمل, ولكن $this->embeddedForm->getObject يقول لم يتم العثور على كائن

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

المحلول

لقد وجدت حلًا سهلًا حقًا. الحل هو تجاوز طريقة فئة نموذج النموذج الخاصة بك Save () يدويًا.

class SomeUserClass extends myUser {

public function save(Doctrine_Connection $conn = null)
    {
        $this->setFirstName(trim($this->getFirstName()));
        if($this->getFirstName())
        {
                return parent::save();
        }else
        {
                return null;
        }
    }

}

في هذا المثال ، أتحقق مما إذا كان حقل الاسم الأول فارغًا. إذا لم يكن الأمر كذلك ، فاحفظ النموذج. إذا كانت فارغة ، فلن نتصل بحفظ النموذج.

لم أتمكن من جعل المدققين يعملون بشكل صحيح ، وهذا حل نظيف بنفس القدر.

نصائح أخرى

Symfony يعطيك مجموعة من السنانير في شكل/الكائن عملية الحفظ.يمكنك الكتابة فوق فارغة القيم null قبل/بعد التحقق من صحة باستخدام وبتجاوز على doSave() أو processValues() وظائف شكل.

يمكنك قراءة المزيد عن ذلك هنا: http://www.symfony-project.org/more-with-symfony/1_4/en/06-Advanced-Forms#chapter_06_saving_object_forms

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