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

Side by Side Diff: chrome/browser/ui/views/payments/validating_textfield.cc

Issue 2673753005: [Payments] Basic validation in the credit card editor. (Closed)
Patch Set: rouslan's comments Created 3 years, 10 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 unified diff | Download patch
OLDNEW
(Empty)
1 // Copyright 2017 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 #include "chrome/browser/ui/views/payments/validating_textfield.h"
6
7 #include "base/strings/utf_string_conversions.h"
anthonyvd 2017/02/08 15:28:28 unused?
Mathieu 2017/02/08 21:21:50 Done.
8
9 namespace payments {
10
11 ValidatingTextfield::ValidatingTextfield(
12 ValidatingTextfield::Delegate* delegate)
13 : Textfield(), delegate_(delegate) {}
14
15 void ValidatingTextfield::OnBlur() {
16 Textfield::OnBlur();
17
18 // The first validation of non-empty data should be on a blur. The subsequent
19 // validations will occur when the contents changes.
20 if (!was_validated_ && !text().empty()) {
21 was_validated_ = true;
22 Validate();
23 }
24 }
25
26 void ValidatingTextfield::OnContentsChanged() {
27 // Validation on every keystroke only happens if the field has been validated
28 // before as part of a blur.
29 if (!was_validated_)
30 return;
31
32 Validate();
33 }
34
35 void ValidatingTextfield::Validate() {
36 // ValidateTextfield may have side-effects, such as displaying errors.
37 SetInvalid(!delegate_->ValidateTextfield(this));
38 }
39
40 } // namespace payments
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698