![](/img/trans.png)
[英]Symfony2, form choice , list of choices depending of mapped entity property
[英]Validate checkbox not mapped to entity in a symfony2 form
我將一個非映射字段添加到 symfony2 表單類型:
$builder->add('terms','checkbox', array('mapped' => false,
'constraints' => array(new NotBlank())));
但是 NotBlank() 約束不起作用! 只有當我將類型從“復選框”更改為“文本”時,它才能按預期工作。 那么如何驗證復選框呢? 當然,我也嘗試過 'True()'、'EqualTo()' 和 'Length(...)' 約束。 但沒有成功。 我還為該字段嘗試了不同的 POST 值(1/0、true/false、on/off...)。
關於symfony2中的表單字段驗證,復選框字段和文本字段之間的最大區別是什么?
謝謝史蒂夫
NotBlank
驗證字符串不為空。 嘗試使用NotNull
IsTrue也必須有效。
驗證一個值是否為真。 具體來說,這會檢查該值是否完全正確,是否准確為整數 1,或者是否准確為字符串“1”。 此約束可以應用於屬性(例如,注冊模型上的 termAccepted 屬性)。
Symfony 3.0 的更新答案:
use Symfony\Component\Form\Extension\Core\Type\CheckboxType;
use Symfony\Component\Validator\Constraints\IsTrue;
// ...
{
$builder->add('terms', CheckboxType::class, array('constraints'=>new IsTrue(array('message'=>'Needs to be clicked')));
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.