typeから継承する再利用可能な(ここでは簡略化された)カスタムフィールドタイプがありtextarea
ます。デフォルトでは、コンテンツを空にすることはできないためvalidation_constraint
、デフォルトのオプションとして指定しました。
namespace Acme\HelloBundle\Form\Type;
use Symfony\Component\Form\AbstractType;
use Symfony\Component\Validator\Constraints\NotBlank;
class SmsContentType extends AbstractType
{
public function getDefaultOptions(array $options)
{
return $options + array(
'label' => 'Testo *',
'validation_constraint' => new NotBlank()
);
}
public function getParent(array $options) { return 'textarea'; }
public function getName() { return 'sms_content'; }
}
ただし、コンテンツを空のままにしてもエラーは表示されません。フィールド自体の近くではなく、。を使用したバブルエラーほどではありませんform_errors(form)
。
どこが間違っているの?ああ、私は別のフォーム内でこのカスタムタイプを使用しています:
class UserType extends AbstractType
{
public function buildForm(FormBuilder $builder, array $options)
{
$builder
->add('sms_birthday_template', new SmsContentType(), array(
'label' => 'SMS compleanno',
))
;
}
}