2013-02-09 83 views
0

我最近開始使用symfony2並推動一個項目。這不是一個平穩的旅程,但它的順利。驗證Symfony2和Propel

幾天前,我被卡在表單驗證中。我有我的validation.yml這樣定義:

Project\MainBundle\Model\User: 
    properties: 
     first_name: 
      - NotBlank: { message: "Please add the user's first name." } 
     last_name: 
      - NotBlank: { message: "Please add the user's last name." } 
     email: 
      - NotBlank: { message: "Please add the user's email address." } 
      - Email: { message: "Please use a valid email address." } 
     password: 
      - NotBlank: { message: "Please add the user's email address." } 

當我提交表單的一切工作正常,除了在形式一片空白FIRST_NAME和last_name提交。在調試後我發現問題不在驗證上,而是在兩個字段的錯誤渲染上。密碼和電子郵件錯誤呈現正常。以下是我設置表單的方式。

$builder->add('firstName', 'text'); 
    $builder->add('lastName', 'text'); 
    $builder->add('email', 'text'); 
    $builder->add('password', 'password'); 

我可以改變我的名字我的領域上表單生成器,但在同一時間,我想跟進的Symfony2的命名約定(和我的數據庫命名約定保持),所以我選擇了這個作爲最後的手段。

我希望我能清楚地解釋我的問題。任何人都可以爲我提供解決方法嗎?

回答

0

您的問題可能來自您似乎不尊重YAML語法的事實。

Project\MainBundle\Model\User: 
    properties: 
     first_name: 
      - NotBlank: { message: Please add the user's first name. } 
     last_name: 
      - NotBlank: { message: "Please add the user's last name. } 
     email: 
      - NotBlank: { message: Please add the user's email address. } 
      - Email: { message: Please use a valid email address. } 
     password: 
      - NotBlank: { message: Please add the user's email address.} 

你可以參考:http://symfony.com/doc/current/book/validation.html

1

您可以通過吸氣驗證。 http://symfony.com/doc/current/validation.html#getters

Project\MainBundle\Model\User: 
    getter: 
     firstName: 
      - NotBlank: { message: "Please add the user's first name." } 
     lastName: 
      - NotBlank: { message: "Please add the user's last name." } 
     email: 
      - NotBlank: { message: "Please add the user's email address." } 
      - Email: { message: "Please use a valid email address." } 
     password: 
      - NotBlank: { message: "Please add the user's email address." }