ullright sfForm / object property injection problem

ullright problem:

  • ullright supports to inject id and other properties of the base object as value into the widget
    • array('value' = $nativeFieldValue, 'id' = $objectPrimaryKey)
  • only ullWidgets support this array format
  • this "injection" occurs during default setting in the form construction
  • Problem:
    • when posting the form, the post values are used which don't include the array format anymore
    • these post values are used in sfForm::bind()
    • this does not seem to be a problem when the form is saved.
    • but in case of validation errors we have a problem
    • widgets are re-rendered - widgets which depends on the base object 'id' (or other properties) fail because of the missing array format / 'id' injection
  • More problems
    • When we merge the array format into the tainted/post values form saving fails, because it can not handle the array format
    • sfForm and associated classes do not allow to set the value of a field after binding the form and failing validation

 Conclusion: formfields better be native, nested or such