-
Notifications
You must be signed in to change notification settings - Fork 56
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Added field entityId to requests when validating unique fields #144
base: master
Are you sure you want to change the base?
Conversation
@@ -565,7 +565,7 @@ protected function parseConstraints(array $constraints) | |||
} | |||
|
|||
if ($item instanceof \Symfony\Bridge\Doctrine\Validator\Constraints\UniqueEntity) { | |||
$item = new UniqueEntity($item, $this->currentElement->getConfig()->getDataClass()); | |||
$item = new UniqueEntity($item, $this->currentElement->getConfig()->getDataClass(), $this->currentElement->getConfig()->getData()); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I thinks better to pass all class with data. $this->currentElement->getConfig()
Form/Constraint/UniqueEntity.php
Outdated
/** | ||
* @var int | ||
*/ | ||
public $entityId = null; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Store here whole entity object instead of fields.
Form/Constraint/UniqueEntity.php
Outdated
*/ | ||
public function __construct(BaseUniqueEntity $base, $entityName) | ||
public function __construct(BaseUniqueEntity $base, $entityName, $data) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
public function __construct(BaseUniqueEntity $base, $entity)
Form/Constraint/UniqueEntity.php
Outdated
*/ | ||
public function __construct(BaseUniqueEntity $base, $entityName) | ||
public function __construct(BaseUniqueEntity $base, $entityName, $data) | ||
{ | ||
$this->entityName = $entityName; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
$this->entity = $entity;
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think you got my idea.
Okay no problem I think you're right :) Just a few minutes and I will commit it |
@66Ton99 The problem is : how do I pass entity object from PHP to Js Model ? Any idea ? Edit : because in my case my //...
public static function phpValueToJs($value)
{
// For object which has own __toString method
if ($value instanceof JsModelAbstract) {
return $value->toJsString();
}
// For object which has own __toString method
elseif (is_object($value) && method_exists($value, '__toString')) {
return self::phpValueToJs($value->__toString());
}
// For an object or associative array
elseif (is_object($value) || (is_array($value) && array_values($value) !== $value)) {
$jsObject = array();
foreach ($value as $paramName => $paramValue) {
$paramName = addcslashes($paramName, '\'\\');
$jsObject[] = "'$paramName':" . self::phpValueToJs($paramValue);
}
return sprintf('{%1$s}', implode($jsObject, ','));
}
//.....
}
//... |
Leave it as is. Put object as protected (or something like this, which will be ignored by phpValueToJs function) value it will allow extend base class and use all required fields for custom cases. |
You mean by creating a custom Constraint that will extends UniqueEntity constraint ? |
Yes |
Couldn't we just add the I pushed a new commit with my changes |
This bundle used in many different ways, so it must cover at list 99% cases. |
Sorry but I don't agree with you, the only fact to include the variable I will maintain my own fork to get future updates, hope you will change your mind |
Resolving issue #143