Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(107)

Unified Diff: components/autofill/core/browser/validation.cc

Issue 2813203004: [Payments] Show what's missing for incomplete payment methods. (Closed)
Patch Set: addressed comments, now two functions Created 3 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « components/autofill/core/browser/validation.h ('k') | components/payments/core/BUILD.gn » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: components/autofill/core/browser/validation.cc
diff --git a/components/autofill/core/browser/validation.cc b/components/autofill/core/browser/validation.cc
index e7237f7b3b73d3fab1ad1a963a3cb245a0e0df3f..e6944314c98baa6df8978acefe2d56c9771d6325 100644
--- a/components/autofill/core/browser/validation.cc
+++ b/components/autofill/core/browser/validation.cc
@@ -125,6 +125,43 @@ bool IsValidCreditCardNumberForBasicCardNetworks(
return false;
}
+CreditCardCompletionStatus GetCompletionStatusForCard(
+ const CreditCard& card,
+ const std::string& app_locale) {
+ CreditCardCompletionStatus status = CREDIT_CARD_COMPLETE;
+ if (card.IsExpired(autofill::AutofillClock::Now()))
+ status |= CREDIT_CARD_EXPIRED;
+
+ if (card.number().empty())
+ status |= CREDIT_CARD_NO_NUMBER;
+
+ if (card.GetInfo(autofill::AutofillType(autofill::CREDIT_CARD_NAME_FULL),
+ app_locale)
+ .empty()) {
+ status |= CREDIT_CARD_NO_CARDHOLDER;
+ }
+
+ return status;
+}
+
+base::string16 GetCompletionMessageForCard(CreditCardCompletionStatus status) {
+ switch (status) {
+ case CREDIT_CARD_COMPLETE:
+ return base::string16();
+ case CREDIT_CARD_EXPIRED:
+ return l10n_util::GetStringUTF16(
+ IDS_PAYMENTS_VALIDATION_INVALID_CREDIT_CARD_EXPIRED);
+ case CREDIT_CARD_NO_CARDHOLDER:
+ return l10n_util::GetStringUTF16(IDS_PAYMENTS_NAME_ON_CARD_REQUIRED);
+ case CREDIT_CARD_NO_NUMBER:
+ return l10n_util::GetStringUTF16(
+ IDS_PAYMENTS_CARD_NUMBER_INVALID_VALIDATION_MESSAGE);
+ default:
+ // Multiple things are missing
+ return l10n_util::GetStringUTF16(IDS_PAYMENTS_MORE_INFORMATION_REQUIRED);
+ }
+}
+
bool IsValidEmailAddress(const base::string16& text) {
// E-Mail pattern as defined by the WhatWG. (4.10.7.1.5 E-Mail state)
const base::string16 kEmailPattern = base::ASCIIToUTF16(
« no previous file with comments | « components/autofill/core/browser/validation.h ('k') | components/payments/core/BUILD.gn » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698