有人可以幫我找出爲什麼我的回調驗證方法沒有被調用。Symfony 2實體驗證回調不被稱爲
基本上我需要做的就是用下面的邏輯定義驗證: - 形式我有5場,如果所有空,形式應該是有效的, - 但是如果任何不爲空所有的他們需要不爲空 (它們被用來建立用戶檔案真實地址)
我按照從DOC:http://symfony.com/doc/2.3/reference/constraints/Callback.html
我有以下代碼:
/**
* User
*
* @ORM\Table(name="user")
* @ORM\Entity(repositoryClass="UserRepository");
* @UniqueEntity("email")
* @ORM\HasLifecycleCallbacks
* @Assert\Callback(methods={"isAddressValid"})
*/
class User extends WebserviceUser implements UserInterface, EquatableInterface
{
...
public function isAddressValid(ExecutionContextInterface $context)
{
//die("I GOT HERE");
$context->addViolationAt('sna4', 'Frikin validation'!', array(), null);
}
}
在正在擴展的類中找到屬性sna4。
預先感謝您。
你在控制器中調用了isValid()嗎?來自你的控制器的代碼會有所幫助 – PMoubed 2015-03-13 20:35:36
檢查爲'ExecutionContextInterface'類添加'use'語句 – Matteo 2015-03-14 13:52:50
@Matteo .....我確認包括使用 – 2015-03-18 14:33:34