 
         self.delegate = self
 
-        let paddingView = UIView(frame: CGRect(x: 0, y: 0, width: FormTextField.LeftMargin, height: 0))
+        let paddingView = UIView(frame: CGRect(x: 0, y: 0, width: self.leftMargin, height: 0))
         self.leftView = paddingView
         self.leftViewMode = .Always
 
         self.addTarget(self, action: #selector(FormTextField.textFieldDidUpdate(_:)), forControlEvents: .EditingChanged)
         self.addTarget(self, action: #selector(FormTextField.textFieldDidReturn(_:)), forControlEvents: .EditingDidEndOnExit)
 
+        self.rightViewMode = .WhileEditing
         self.returnKeyType = .Done
-        self.rightViewMode = .WhileEditing
         self.backgroundColor = UIColor.clearColor()
     }
 
-    private lazy var customClearButton: UIButton = {
-        let image = FormTextFieldClearButton.imageForSize(CGSize(width: 18, height: 18), color: self.accessoryButtonColor)
-        let button = UIButton(type: .Custom)
-        button.setImage(image, forState: .Normal)
-        button.addTarget(self, action: #selector(FormTextField.clearButtonAction), forControlEvents: .TouchUpInside)
-        button.frame = CGRect(x: 0, y: 0, width: FormTextField.AccessoryButtonWidth, height: FormTextField.AccessoryButtonHeight)
+    private lazy var customClearButton: UIButton? = {
+        var button: UIButton? = nil
+
+        if self.isUsingClearButton {
+            let image = FormTextFieldClearButton.imageForSize(CGSize(width: 18, height: 18), color: self.accessoryButtonColor)
+            button = UIButton(type: .Custom)
+            button?.setImage(image, forState: .Normal)
+            button?.addTarget(self, action: #selector(FormTextField.clearButtonAction), forControlEvents: .TouchUpInside)
+            button?.frame = CGRect(x: 0, y: 0, width: FormTextField.AccessoryButtonWidth, height: FormTextField.AccessoryButtonHeight)
+        }
 
         return button
+    }()
+
+    private lazy var inputValidationIndicator: UIImageView? = {
+        var imageView: UIImageView? = nil
+
+        if let image = self.accessoryImage {
+            imageView = UIImageView(image: image)
+            imageView?.contentMode = .Center
+            imageView?.frame = CGRect(x: 0, y: 0, width: FormTextField.AccessoryButtonWidth, height: FormTextField.AccessoryButtonHeight)
+    }
+
+        return imageView
     }()
 
     override public var enabled: Bool {

    public var formatter: Formattable?
    weak public var textFieldDelegate: FormTextFieldDelegate?

    static private let LeftMargin = 10.0
    static private let AccessoryButtonWidth = 30.0
    static private let AccessoryButtonHeight = 20.0


    }

    private func updateActive(active: Bool) {
        if self.isUsingClearButton { self.rightView = self.customClearButton }

        if active {
            self.layer.backgroundColor = self.activeBackgroundColor.CGColor
