Symfony2 forms und <input> Muster-Attribut

Ich versuche, ein Formular erstellen, in Symfony2 mit einem text-input-Feld akzeptiert eine Zeichenfolge, bestehend aus 6 Ziffern gefolgt von einem Bindestrich, gefolgt von vier Ziffern (z.B. 123456-7890). Es funktioniert, aber ich bin immer inkonsistente HTML-markup abhängig, wie genau füge ich das Feld in das Formular.

Dies ist aus der Einheit:

class Kursist
{
...
/**
 * @ORM\Column(type="string", length=11)
 */
protected $cpr;
....
public static function loadValidatorMetadata(ClassMetadata $metadata)
{
    $metadata->addPropertyConstraint('cpr', new NotBlank());
    $metadata->addPropertyConstraint('cpr', new Regex(array(
        'pattern' => '/^\d{6}-\d{4}$/',
    )));
}

Aus der form-definition:

class KursistType extends AbstractType
{
  public function buildForm(FormBuilderInterface $builder, array $options)
  {
    $builder->add('cpr');
    ...
  }
}

Aus der twig template:

<form action= ... >;
  {{ form_row(form.cpr) }}
    ...
</form>

Dies ist, was der browser source-code aussieht - man beachte die Muster und maxlength Attribute:

<label for="KursistType_cpr" class="required">HLW</label><input type="text" id="KursistType_cpr" name="KursistType[cpr]" required="required" maxlength="11" pattern="\d{6}-\d{4}" value="123456-7890" />

Möchte ich mein eigenes label eher als die Standard, so ich änderung der Formular-Feld-defition:

 Klasse KursistType erstreckt AbstractType 
{ 
public function buildForm(FormBuilderInterface $builder, array $options) 
{ 
$builder->add('cpr','text', array('label' => 'CPR')); 
...

Aber jetzt wenn ich einen Blick in den browser-Quelltext, der Muster und maxlength Attribute gegangen:

 <label for="KursistType_cpr" class="required">HLW</label><input type="text" id="KursistType_cpr" name="KursistType[cpr]" required="required" value="123456-7890" />

Gibt es eine Möglichkeit, ändern Sie das Etikett mit der FormBuilderInterface ohne diese Attribute fallen gelassen wird?

  • Ich sieht aus wie ein Symfony2-bug ist, sollte es normal funktionieren...
InformationsquelleAutor Tom | 2013-04-01
Schreibe einen Kommentar