Symfony2 Callback -Validierungsfehler auf der Eigenschaft des Feldes festgelegtPhp

PHP-Programmierer chatten hier
Anonymous
 Symfony2 Callback -Validierungsfehler auf der Eigenschaft des Feldes festgelegt

Post by Anonymous »

Ich verwende den Callback -Validator in Symfony 2.0.4, um eine Sammlung eingebetteter Formulare zu validieren. Ich versuche zu sehen, ob eine der Felder der Formulare in einem der Formulare dupliziert wird und wenn ja, um einen Fehler auf diesem Feld hinzuzufügen.

Hier ist der Code: < /p>
/**
* @Assert\Callback(methods={"isPriceUnique"})
*/
class Pricing {
protected $defaultPrice;
protected $prices;

public function isPriceUnique(ExecutionContext $context){
//Get the path to the field that represents the price collection
$propertyPath = $context->getPropertyPath().'.defaultPrice';

$addedPrices = $this->getPrices();
\array_unshift($addedPrices, $this->getDefaultPrice());

for($i=0; $igetCountry();

//Check for duplicate pricing options(whose country has been selected already)
if($isetPropertyPath($propertyPath.'.'.$j.'.country');
$context->addViolation('product.prices.unique', array(), null);
break;
}
}
}
}
}
< /code>
Das Feld $ Preise ist eine Reihe von Preisunternehmen, die jeweils über die Landbesitz sind. Das Land wird auch dem Formulartyp hinzugefügt. '.field'.

Könnte mir jemand sagen, welcher Syntax für $ propertyPath ist, der es mir ermöglichen würde, ein Feld auf einer niedrigeren Ebene in der Hierarchie festzulegen? < /p>
Update:
Es scheint, dass die Validierung ordnungsgemäß durchgeführt wird, und nach dem Studium des PropertyPath -Klassenkonstruktors bin ich sicher, dass der Weg, den ich habe verwendet ist korrekt. Das Problem ist, dass die angegebene Nachricht wie erwartet nicht im Bereich des Landes angezeigt wird.

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post