Skip to content

Latest commit

 

History

History
executable file
·
49 lines (45 loc) · 1.39 KB

File metadata and controls

executable file
·
49 lines (45 loc) · 1.39 KB

3.9 Checking the uniqueness of entities

If you want to customize validation of the UniqueEntity constraint on the server side, then you can create your own controller and route, and change it in the config:

//app/config/config.yml
# ...
fp_js_form_validator:
    routing:
        check_unique_entity: custom_unique_controller
//app/config/routing.yml
# ...
custom_unique_controller:
    pattern:  /custom_unique_controller
    defaults: { _controller: "AcmeDemoBundle:CustomUnique:index" }
namespace Acme\DemoBundle\Controller;

use Symfony\Bundle\FrameworkBundle\Controller\Controller;
use Symfony\Component\HttpFoundation\Request;

class CustomUniqueController extends  Controller
{
    public function indexAction(Request $request)
    {
        $data = $request->request->all();
        // ...
    }
}

Here you can see what kind of data you will receive in the request:

$data = array (
  'message'          => 'This value is already used.',
  'service'          => 'doctrine.orm.validator.unique',
  'repositoryMethod' => 'findBy',
  'fields'           => array ('email'),
  'ignoreNull'       => '1',
  'groups'           => array ('Default', 'User'),
  'entityName'       => 'Acme\DemoBundle\Entity\User',
  'data'             => array (
      'email' => 'john_doe@example.com',
  )
)

Now, you can create your own logic to check the uniqueness using this input data