2012-01-12 17 views
5

मैंने एक पंजीकरण फ़ॉर्म बनाया है जहां मैं इसमें फ़ील्ड को सत्यापित करना चाहता हूं। मेरी RegistrationFormType में मैं निम्नलिखित कोड है:एक फॉर्म फ़ील्ड को फिर से सत्यापित करें कई बाधाएं

public function getDefaultOptions(array $options) 
    { 
     $collectionConstraint = new Collection(array(
      'email' => new Collection(array(
       new NotBlank(), 
       new Email(array('message' => 'Invalid email addressadsfa')), 
       )), 
      'username' => new Email(array('message' => 'arg Invalid email addressadsfa')), 
      'code' => new MaxLength(array('limit'=>20)), 
      'plainPassword' => new MaxLength(array('limit'=>20)), 
     )); 

     return array(
      'csrf_protection' => false, 
      'validation_constraint' => $collectionConstraint, 
     ); 
    } 

समस्या है: ईमेल सत्यापन काम नहीं करता। मैं क्या गलत कर रहा हूं?

उत्तर

16

आपको ईमेल प्रविष्टि को संग्रह करने की आवश्यकता नहीं है, बस एक साधारण सरणी का उपयोग करें। तो:

public function getDefaultOptions(array $options) 
{ 
    $collectionConstraint = new Collection(array(
     'email' => array(
      new NotBlank(), 
      new Email(array('message' => 'Invalid email addressadsfa')), 
     ), 
     'username' => new Email(array('message' => 'arg Invalid email addressadsfa')), 
     'code' => new MaxLength(array('limit'=>20)), 
     'plainPassword' => new MaxLength(array('limit'=>20)), 
    )); 

    return array(
     'csrf_protection' => false, 
     'validation_constraint' => $collectionConstraint, 
    ); 
} 
संबंधित मुद्दे