/** * @param bool $isValid * @dataProvider trueFalseDataProvider */ public function testIsValid($isValid) { $data = ['something']; $attribute = $this->getMockAttribute(); $this->mockDataModel($isValid, $attribute); $this->validator->setAttributes([$attribute]); $this->validator->setEntityType('ENTITY_TYPE'); $this->validator->setData($data); $this->assertEquals($isValid, $this->validator->isValid(['ENTITY'])); $this->validator->setData([]); $this->assertEquals($isValid, $this->validator->isValid(new \Magento\Framework\Object($data))); }
/** * {@inheritdoc} */ public function validate(CustomerInterface $customer) { $customerData = $this->extensibleDataObjectConverter->toFlatArray($customer, [], '\\Magento\\Customer\\Api\\Data\\CustomerInterface'); $customerErrors = $this->validator->validateData($customerData, [], 'customer'); $validationResults = $this->validationResultsDataFactory->create(); if ($customerErrors !== true) { return $validationResults->setIsValid(false)->setMessages($this->validator->getMessages()); } $oldAddresses = $customer->getAddresses(); $customerModel = $this->customerFactory->create()->updateData($customer->setAddresses([])); $customer->setAddresses($oldAddresses); $result = $customerModel->validate(); if (true !== $result && is_array($result)) { return $validationResults->setIsValid(false)->setMessages($result); } return $validationResults->setIsValid(true)->setMessages([]); }
/** * {@inheritdoc} */ public function validateCustomerData(Data\Customer $customer, array $attributes = []) { $customerErrors = $this->validator->validateData(\Magento\Framework\Service\EavDataObjectConverter::toFlatArray($customer), $attributes, 'customer'); if ($customerErrors !== true) { return $this->customerValidationResultsBuilder->setIsValid(false)->setMessages($this->validator->getMessages())->create(); } $customerModel = $this->converter->createCustomerModel($customer); $result = $customerModel->validate(); if (true !== $result && is_array($result)) { return $this->customerValidationResultsBuilder->setIsValid(false)->setMessages($result)->create(); } return $this->customerValidationResultsBuilder->setIsValid(true)->setMessages([])->create(); }