Symfony2自動翻譯輸入字段值與十進制或整數類型。 我有兩種語言爲我的應用程序:阿拉伯語和英語 我創建了一個實體與以下字段:在Symfony 2中禁用自動翻譯輸入值
/**
* @var float $price
*
* @ORM\Column(name="price", type="decimal", scale=2, nullable=true)
*
* @Assert\Regex(pattern="/^[0-9]+(\.\d{1,2})?$/",message="Incorrect price.")
* @Assert\Type(type="float")
* @Assert\Min(0)
*/
private $price;
在形式上我讓SF猜測字段類型:
$builder->add('price')
我在阿拉伯語界面中加載編輯此實體的表單。 在價格字段中,我看到١٢٫٤
而不是12.40
。 由於HTML5驗證失敗,我無法保存表單。 如果我在當前字段中輸入12.40並保存實體,則12將被保存,而不是12.40。
爲什麼?如何禁用它?如何驗證阿拉伯數字? 有什麼建議嗎?
編輯:解決,請參閱下面
只是一個想法,不知道它是否足夠:你可以嘗試使用你的表單部件的「數字」類型:$ builder-> add('price','number') – Julien
是的,我試了一下。如果我爲小部件設置了「數字」類型或「整數」,則symfony將轉換該值。如果我設置了「文本」小部件,那麼symfony不會翻譯它。 – Mikhail