本文整理汇总了PHP中Symfony\Component\Form\FormInterface::isValid方法的典型用法代码示例。如果您正苦于以下问题:PHP FormInterface::isValid方法的具体用法?PHP FormInterface::isValid怎么用?PHP FormInterface::isValid使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Symfony\Component\Form\FormInterface
的用法示例。
在下文中一共展示了FormInterface::isValid方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: process
/**
* Process form
*
* @param EmailTemplate $entity
*
* @return bool True on successful processing, false otherwise
*/
public function process(EmailTemplate $entity)
{
// always use default locale during template edit in order to allow update of default locale
$entity->setLocale($this->defaultLocale);
if ($entity->getId()) {
// refresh translations
$this->manager->refresh($entity);
}
$this->form->setData($entity);
if (in_array($this->request->getMethod(), array('POST', 'PUT'))) {
// deny to modify system templates
if ($entity->getIsSystem() && !$entity->getIsEditable()) {
$this->form->addError(new FormError($this->translator->trans('oro.email.handler.attempt_save_system_template')));
return false;
}
$this->form->submit($this->request);
if ($this->form->isValid()) {
// mark an email template creating by an user as editable
if (!$entity->getId()) {
$entity->setIsEditable(true);
}
$this->manager->persist($entity);
$this->manager->flush();
return true;
}
}
return false;
}
示例2: process
/**
* @param LineItem $lineItem
*
* @return bool
*/
public function process(LineItem $lineItem)
{
if (in_array($this->request->getMethod(), ['POST', 'PUT'], true)) {
$this->form->submit($this->request);
if ($this->form->isValid()) {
/** @var LineItemRepository $lineItemRepository */
$lineItemRepository = $this->manager->getRepository('OroB2BShoppingListBundle:LineItem');
$existingLineItem = $lineItemRepository->findDuplicate($lineItem);
if ($existingLineItem) {
$existingLineItem->setQuantity($lineItem->getQuantity() + $existingLineItem->getQuantity());
$existingLineItemNote = $existingLineItem->getNotes();
$newNotes = $lineItem->getNotes();
$notes = trim(implode(' ', [$existingLineItemNote, $newNotes]));
if ($notes) {
$existingLineItem->setNotes($notes);
}
$this->savedId = $existingLineItem->getId();
} else {
$this->manager->persist($lineItem);
}
$this->manager->flush();
return true;
}
}
return false;
}
示例3: process
/**
* Prepare & process form
*
* @author Jeremie Samson <jeremie@ylly.fr>
*
* @return bool
*/
public function process()
{
if ($this->request->isMethod('POST')) {
$this->form->handleRequest($this->request);
if ($this->form->isValid()) {
/** @var ModelUser $user */
$user = $this->form->getData();
if (!$user->getFirstname() || !$user->getLastname() || !$user->getEmailGalaxy() || !$user->getSection()) {
$this->form->addError(new FormError('Missing parameter(s)'));
} else {
if (!filter_var($user->getEmail(), FILTER_VALIDATE_EMAIL) || !filter_var($user->getEmailGalaxy(), FILTER_VALIDATE_EMAIL)) {
$error = new FormError('email invalid');
if (!filter_var($user->getEmail(), FILTER_VALIDATE_EMAIL)) {
$this->form->get('email')->addError($error);
}
if (!filter_var($user->getEmailGalaxy(), FILTER_VALIDATE_EMAIL)) {
$this->form->get('emailGalaxy')->addError($error);
}
} else {
$section_id = $this->em->getRepository('FaucondorBundle:Section')->find($user->getSection());
$section_code = $this->em->getRepository('FaucondorBundle:Section')->findOneBy(array("code" => $user->getSection()));
if (!$section_id && !$section_code) {
$this->form->get('section')->addError(new FormError('Section with id ' . $user->getSection() . ' not found'));
} else {
/** @var Section $section */
$section = $section_id ? $section_id : $section_code;
$this->onSuccess($user, $section);
return true;
}
}
}
}
}
return false;
}
示例4: testNickBadChar
/**
* @dataProvider getNicknameExample
*/
public function testNickBadChar($nick)
{
$submitted = ['nickname' => $nick, 'gender' => 'xy'];
$this->sut->submit($submitted);
$this->assertFalse($this->sut->isValid());
$this->assertRegexp('#not valid#', $this->sut->get('nickname')->getErrors()[0]->getMessage());
}
示例5: process
/**
* Process form
*
* @param Task $entity
*
* @return bool True on successful processing, false otherwise
*/
public function process(Task $entity)
{
$action = $this->entityRoutingHelper->getAction($this->request);
$targetEntityClass = $this->entityRoutingHelper->getEntityClassName($this->request);
$targetEntityId = $this->entityRoutingHelper->getEntityId($this->request);
if ($targetEntityClass && !$entity->getId() && $this->request->getMethod() === 'GET' && $action === 'assign' && is_a($targetEntityClass, 'Oro\\Bundle\\UserBundle\\Entity\\User', true)) {
$entity->setOwner($this->entityRoutingHelper->getEntity($targetEntityClass, $targetEntityId));
FormUtils::replaceField($this->form, 'owner', ['read_only' => true]);
}
$this->form->setData($entity);
if (in_array($this->request->getMethod(), array('POST', 'PUT'))) {
$this->form->submit($this->request);
if ($this->form->isValid()) {
// TODO: should be refactored after finishing BAP-8722
// Contexts handling should be moved to common for activities form handler
if ($this->form->has('contexts')) {
$contexts = $this->form->get('contexts')->getData();
$this->activityManager->setActivityTargets($entity, $contexts);
} elseif ($targetEntityClass && $action === 'activity') {
// if we don't have "contexts" form field
// we should save association between activity and target manually
$this->activityManager->addActivityTarget($entity, $this->entityRoutingHelper->getEntityReference($targetEntityClass, $targetEntityId));
}
$this->onSuccess($entity);
return true;
}
}
return false;
}
示例6: process
/**
* Prepare & process form
*
* @author Jeremie Samson <jeremie@ylly.fr>
*
* @return bool
*/
public function process()
{
if ($this->request->isMethod('POST')) {
$this->form->handleRequest($this->request);
if ($this->form->isValid()) {
/** @var ModelUserRole $model */
$model = $this->form->getData();
if (!$model->getUser() || !$model->getRole()) {
$this->form->addError(new FormError('Missing parameter(s)'));
}
/** @var User $user */
$user = $this->em->getRepository('UserBundle:User')->find($model->getUser());
/** @var Post $role */
$role = $this->em->getRepository('FaucondorBundle:Post')->find($model->getRole());
if (!$user) {
$this->form->get('user')->addError(new FormError('User with id ' . $model->getUser() . ' not found '));
}
if (!$role) {
$this->form->get('role')->addError(new FormError('Role with id ' . $model->getRole() . ' not found '));
}
$this->onSuccess($user, $role);
return true;
}
}
return false;
}
示例7: process
/**
* Process form
*
* @param Issue $entity
*
* @return bool True on successful processing, false otherwise
*/
public function process(Issue $entity)
{
$action = $this->entityRoutingHelper->getAction($this->request);
$targetEntityClass = $this->entityRoutingHelper->getEntityClassName($this->request);
$targetEntityId = $this->entityRoutingHelper->getEntityId($this->request);
if ($targetEntityClass && !$entity->getId() && $this->request->getMethod() === 'GET' && $action === 'assign' && is_a($targetEntityClass, 'Oro\\Bundle\\UserBundle\\Entity\\User', true)) {
$entity->setAssignee($this->entityRoutingHelper->getEntity($targetEntityClass, $targetEntityId));
FormUtils::replaceField($this->form, 'assignee', ['read_only' => true]);
}
$this->form->setData($entity);
if (in_array($this->request->getMethod(), array('POST', 'PUT'))) {
$this->form->submit($this->request);
if ($this->form->isValid()) {
/* if ($targetEntityClass && $action === 'activity') {
$this->activityManager->addActivityTarget(
$entity,
$this->entityRoutingHelper->getEntityReference($targetEntityClass, $targetEntityId)
);
}*/
$this->onSuccess($entity);
return true;
}
}
return false;
}
示例8: testInvalidName_MaxLengthValid
public function testInvalidName_MaxLengthValid()
{
$name = str_repeat('S', $this->app['config']['stext_len']);
$this->formData['name'] = $name;
$this->form->submit($this->formData);
$this->assertTrue($this->form->isValid());
}
示例9: process
/**
* Process form
*
* @param Call $entity
*
* @return bool True on successful processing, false otherwise
*/
public function process(Call $entity)
{
$targetEntityClass = $this->request->get('entityClass');
$targetEntityId = $this->request->get('entityId');
$options = [];
if ($targetEntityClass && $this->request->getMethod() === 'GET') {
$targetEntity = $this->entityRoutingHelper->getEntity($targetEntityClass, $targetEntityId);
if (!$entity->getId()) {
$entity->setPhoneNumber($this->phoneProvider->getPhoneNumber($targetEntity));
}
$options = ['phone_suggestions' => array_unique(array_map(function ($item) {
return $item[0];
}, $this->phoneProvider->getPhoneNumbers($targetEntity)))];
}
$this->form = $this->formFactory->createNamed($this->formName, $this->formType, $entity, $options);
$this->form->setData($entity);
if (in_array($this->request->getMethod(), array('POST', 'PUT'))) {
$this->form->submit($this->request);
if ($this->form->isValid()) {
if ($targetEntityClass) {
$targetEntity = $this->entityRoutingHelper->getEntity($targetEntityClass, $targetEntityId);
$this->callActivityManager->addAssociation($entity, $targetEntity);
$phones = $this->phoneProvider->getPhoneNumbers($targetEntity);
foreach ($phones as $phone) {
if ($entity->getPhoneNumber() === $phone[0]) {
$this->callActivityManager->addAssociation($entity, $phone[1]);
}
}
}
$this->onSuccess($entity);
return true;
}
}
return false;
}
示例10: process
/**
* Process form
*
* @param CalendarEvent $entity
*
* @throws \LogicException
*
* @return bool True on successful processing, false otherwise
*/
public function process(CalendarEvent $entity)
{
$this->form->setData($entity);
if (in_array($this->request->getMethod(), array('POST', 'PUT'))) {
$originalChildren = new ArrayCollection();
foreach ($entity->getChildEvents() as $childEvent) {
$originalChildren->add($childEvent);
}
$this->form->submit($this->request);
if ($this->form->isValid()) {
$this->ensureCalendarSet($entity);
$targetEntityClass = $this->entityRoutingHelper->getEntityClassName($this->request);
if ($targetEntityClass) {
$targetEntityId = $this->entityRoutingHelper->getEntityId($this->request);
$targetEntity = $this->entityRoutingHelper->getEntityReference($targetEntityClass, $targetEntityId);
$action = $this->entityRoutingHelper->getAction($this->request);
if ($action === 'activity') {
$this->activityManager->addActivityTarget($entity, $targetEntity);
}
if ($action === 'assign' && $targetEntity instanceof User && $targetEntityId !== $this->securityFacade->getLoggedUserId()) {
/** @var Calendar $defaultCalendar */
$defaultCalendar = $this->manager->getRepository('OroCalendarBundle:Calendar')->findDefaultCalendar($targetEntity->getId(), $targetEntity->getOrganization()->getId());
$entity->setCalendar($defaultCalendar);
}
}
$this->onSuccess($entity, $originalChildren, $this->form->get('notifyInvitedUsers')->getData());
return true;
}
}
return false;
}
示例11: process
/**
* Process form
*
* @param CalendarEvent $entity
* @throws \LogicException
*
* @return bool True on successful processing, false otherwise
*/
public function process(CalendarEvent $entity)
{
if (!$entity->getCalendar()) {
if ($this->securityFacade->getLoggedUser() && $this->securityFacade->getOrganization()) {
/** @var Calendar $defaultCalendar */
$defaultCalendar = $this->manager->getRepository('OroCalendarBundle:Calendar')->findDefaultCalendar($this->securityFacade->getLoggedUser()->getId(), $this->securityFacade->getOrganization()->getId());
$entity->setCalendar($defaultCalendar);
} else {
throw new \LogicException('Current user did not define');
}
}
$this->form->setData($entity);
if (in_array($this->request->getMethod(), array('POST', 'PUT'))) {
$this->form->submit($this->request);
if ($this->form->isValid()) {
$targetEntityClass = $this->entityRoutingHelper->getEntityClassName($this->request);
if ($targetEntityClass) {
$targetEntityId = $this->entityRoutingHelper->getEntityId($this->request);
$targetEntity = $this->entityRoutingHelper->getEntityReference($targetEntityClass, $targetEntityId);
$action = $this->entityRoutingHelper->getAction($this->request);
if ($action === 'activity') {
$this->activityManager->addActivityTarget($entity, $targetEntity);
}
if ($action === 'assign' && $targetEntity instanceof User && $targetEntityId !== $this->securityFacade->getLoggedUserId()) {
/** @var Calendar $defaultCalendar */
$defaultCalendar = $this->manager->getRepository('OroCalendarBundle:Calendar')->findDefaultCalendar($targetEntity->getId(), $targetEntity->getOrganization()->getId());
$entity->setCalendar($defaultCalendar);
}
}
$this->onSuccess($entity);
return true;
}
}
return false;
}
示例12: testInvalidEmail_RFC2822
public function testInvalidEmail_RFC2822()
{
$this->formData['email']['first'] = 'abc..@example.com';
$this->formData['email']['second'] = 'abc..@example.com';
$this->form->submit($this->formData);
$this->assertFalse($this->form->isValid());
}
示例13: process
/**
* @param LineItem $lineItem
*
* @return bool
*/
public function process(LineItem $lineItem)
{
if (in_array($this->request->getMethod(), ['POST', 'PUT'], true)) {
/** @var EntityManagerInterface $manager */
$manager = $this->registry->getManagerForClass('OroB2BShoppingListBundle:LineItem');
$manager->beginTransaction();
// handle case for new shopping list creation
$formName = $this->form->getName();
$formData = $this->request->request->get($formName, []);
if (empty($formData['shoppingList']) && !empty($formData['shoppingListLabel'])) {
$shoppingList = $this->shoppingListManager->createCurrent($formData['shoppingListLabel']);
$formData['shoppingList'] = $shoppingList->getId();
$this->request->request->set($formName, $formData);
}
$this->form->submit($this->request);
if ($this->form->isValid()) {
/** @var LineItemRepository $lineItemRepository */
$lineItemRepository = $manager->getRepository('OroB2BShoppingListBundle:LineItem');
$existingLineItem = $lineItemRepository->findDuplicate($lineItem);
if ($existingLineItem) {
$this->updateExistingLineItem($lineItem, $existingLineItem);
} else {
$manager->persist($lineItem);
}
$manager->flush();
$manager->commit();
return true;
} else {
$manager->rollBack();
}
}
return false;
}
示例14: process
/**
* Process form
*
* @param AccountUser $accountUser
* @return bool True on successful processing, false otherwise
*/
public function process(AccountUser $accountUser)
{
if (in_array($this->request->getMethod(), ['POST', 'PUT'], true)) {
$this->form->submit($this->request);
if ($this->form->isValid()) {
if (!$accountUser->getId()) {
if ($this->form->get('passwordGenerate')->getData()) {
$generatedPassword = $this->userManager->generatePassword(10);
$accountUser->setPlainPassword($generatedPassword);
}
if ($this->form->get('sendEmail')->getData()) {
$this->userManager->sendWelcomeEmail($accountUser);
}
}
$token = $this->securityFacade->getToken();
if ($token instanceof OrganizationContextTokenInterface) {
$organization = $token->getOrganizationContext();
$accountUser->setOrganization($organization)->addOrganization($organization);
}
$this->userManager->updateUser($accountUser);
return true;
}
}
return false;
}
示例15: testInvalidTel_Blank
public function testInvalidTel_Blank()
{
$this->formData['law_tel']['law_tel01'] = '';
$this->formData['law_tel']['law_tel02'] = '';
$this->formData['law_tel']['law_tel03'] = '';
$this->form->submit($this->formData);
$this->assertFalse($this->form->isValid());
}