.. wxPython Phoenix documentation

   This file was generated by Phoenix's sphinx generator and associated
   tools, do not edit by hand.

   Copyright: (c) 2011-2020 by Total Control Software
   License:   wxWindows License

.. include:: headings.inc



.. _wx.Validator:

==========================================================================================================================================
|phoenix_title|  **wx.Validator**
==========================================================================================================================================

:ref:`wx.Validator`  is the base class for a family of validator classes that mediate between a class of control, and application data.          

A validator has three major roles: 



- To transfer data from a C++ variable or own storage to and from a control. 
- To validate data in a control, and show an appropriate error message. 
- To filter events (such as keystrokes), thereby changing the behaviour of the associated control. 




Validators can be plugged into controls dynamically. 

To specify a default, "null" validator, use :ref:`wx.DefaultValidator`. 

For more information, please see :ref:`Validator Overview <validator overview>`. 









         



.. seealso:: :ref:`Validator Overview <validator overview>`, :ref:`TextValidator`, :ref:`GenericValidator`, :ref:`IntegerValidator`, :ref:`FloatingPointValidator`    







|

|class_hierarchy| Class Hierarchy
=================================

.. raw:: html

   <div id="toggleBlock" onclick="return toggleVisibility(this)" class="closed" style="cursor:pointer;">
   <img id="toggleBlock-trigger" src="_static/images/closed.png"/>
   Inheritance diagram for class <strong>Validator</strong>:
   </div>
   <div id="toggleBlock-summary" style="display:block;"></div>
   <div id="toggleBlock-content" style="display:none;">
   <p class="graphviz">
   <center><img src="_static/images/inheritance/wx.Validator_inheritance.png" alt="Inheritance diagram of Validator" usemap="#dummy" class="inheritance"/></center>
   <script type="text/javascript">toggleVisibilityOnLoad(document.getElementById('toggleBlock'))</script>
   <map id="dummy" name="dummy"> <area shape="rect" id="node1" href="wx.Validator.html" title="wx.Validator" alt="" coords="57,160,160,189"/> <area shape="rect" id="node2" href="wx.EvtHandler.html" title="wx.EvtHandler" alt="" coords="50,83,167,112"/> <area shape="rect" id="node3" href="wx.Object.html" title="wx.Object" alt="" coords="5,5,92,35"/> <area shape="rect" id="node4" href="wx.Trackable.html" title="wx.Trackable" alt="" coords="117,5,223,35"/> </map> 
   </p>
   </div>

|


|sub_classes| Known Subclasses
==============================

:ref:`GenericValidator`, :ref:`NumValidator`, :ref:`TextValidator`

|


|method_summary| Methods Summary
================================

================================================================================ ================================================================================
:meth:`~wx.Validator.__init__`                                                   Constructor.
:meth:`~wx.Validator.Clone`                                                      All validator classes must implement the :meth:`~Validator.Clone`   function, which returns an identical copy of itself.
:meth:`~wx.Validator.GetWindow`                                                  Returns the window associated with the validator.
:meth:`~wx.Validator.IsSilent`                                                   Returns if the error sound is currently disabled.
:meth:`~wx.Validator.SetWindow`                                                  Associates a window with the validator.
:meth:`~wx.Validator.SuppressBellOnError`                                        This functions switches on or turns off the error sound produced by the validators if an invalid key is pressed.
:meth:`~wx.Validator.TransferFromWindow`                                         This overridable function is called when the value in the window must be transferred to the validator.
:meth:`~wx.Validator.TransferToWindow`                                           This overridable function is called when the value associated with the validator must be transferred to the window.
:meth:`~wx.Validator.Validate`                                                   This overridable function is called when the value in the associated window must be validated.
================================================================================ ================================================================================


|


|property_summary| Properties Summary
=====================================

================================================================================ ================================================================================
:attr:`~wx.Validator.Window`                                                     See :meth:`~wx.Validator.GetWindow` and :meth:`~wx.Validator.SetWindow`
================================================================================ ================================================================================


|


|api| Class API
===============


.. class:: wx.Validator(EvtHandler)

   **Possible constructors**::

       Validator()
       
   
   Validator is the base class for a family of validator classes that
   mediate between a class of control, and application data.



   .. method:: __init__(self)

      Constructor.                   





   .. method:: Clone(self)

      All validator classes must implement the :meth:`Clone`   function, which returns an identical copy of itself.                  

      This is because validators are passed to control constructors as references which must be copied. Unlike objects such as pens and brushes, it does not make sense to have a reference counting scheme to do this cloning because all validators should have separate data. 

                

      :rtype: :ref:`wx.Object`







      :returns: 

         This base function returns ``None``.   








   .. method:: GetWindow(self)

      Returns the window associated with the validator.                  

      :rtype: :ref:`wx.Window`








   .. staticmethod:: IsSilent()

      Returns if the error sound is currently disabled.                  

      :rtype: `bool`








   .. method:: SetWindow(self, window)

      Associates a window with the validator.                  

      This function is automatically called by wxWidgets when creating a Window-derived class instance which takes a :ref:`wx.Validator`  reference. Since wxWidgets 3.1.1, it can be overridden in custom validators in order to perform any one-time initialization or checks of the window when the validator is associated with it. 

      E.g. ::

                  wx.TextCtrl(self, wx.ID_ANY, u'', wx.DefaultPosition, wx.DefaultSize, 0,
                              validator=MyValidator())

      will automatically link the :ref:`TextValidator`  instance with the :ref:`wx.TextCtrl`  instance and call :meth:`SetWindow`   method on the :ref:`TextValidator`  object.                  


      :param `window`: 
      :type `window`: wx.Window







   .. staticmethod:: SuppressBellOnError(suppress=True)

      This functions switches on or turns off the error sound produced by the validators if an invalid key is pressed.                  




      :param `suppress`: If ``True``, error sound is not played when a validator detects an error. If ``False``, error sound is enabled.   
      :type `suppress`: bool




                  



      .. versionadded:: 2.9.1 
    








   .. method:: TransferFromWindow(self)

      This overridable function is called when the value in the window must be transferred to the validator.                  

                

      :rtype: `bool`







      :returns: 

         ``False`` if there is a problem.   








   .. method:: TransferToWindow(self)

      This overridable function is called when the value associated with the validator must be transferred to the window.                  

                

      :rtype: `bool`







      :returns: 

         ``False`` if there is a problem.   








   .. method:: Validate(self, parent)

      This overridable function is called when the value in the associated window must be validated.                  




      :param `parent`: The parent of the window associated with the validator.  
      :type `parent`: wx.Window






      :rtype: `bool`



                  



      :returns: 

         ``False`` if the value in the window is not valid; you may pop up an error dialog.   








   .. attribute:: Window

      See :meth:`~wx.Validator.GetWindow` and :meth:`~wx.Validator.SetWindow`

