1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 """Used for validating properties that do or do not allow null values."""
17
18 from muntjac.data.validator import IValidator, InvalidValueException
19
20
22 """This validator is used for validating properties that do or do not
23 allow null values. By default, nulls are not allowed.
24
25 @author: Vaadin Ltd.
26 @author: Richard Lincoln
27 @version: 1.1.2
28 """
29
30 - def __init__(self, errorMessage, onlyNullAllowed):
31 """Creates a new NullValidator.
32
33 @param errorMessage:
34 the error message to display on invalidation.
35 @param onlyNullAllowed:
36 Are only nulls allowed?
37 """
38 self._onlyNullAllowed = None
39 self._errorMessage = None
40
41 self.setErrorMessage(errorMessage)
42 self.setNullAllowed(onlyNullAllowed)
43
44
46 """Validates the data given in value.
47
48 @param value:
49 the value to validate.
50 @raise InvalidValueException:
51 if the value was invalid.
52 """
53 if (self._onlyNullAllowed and value is not None) \
54 or (not self._onlyNullAllowed and value is None):
55 raise InvalidValueException(self._errorMessage)
56
57
59 """Tests if the given value is valid.
60
61 @param value:
62 the value to validate.
63 @return: C{True} for valid value, otherwise C{False}.
64 """
65 return value is None if self._onlyNullAllowed else value is not None
66
67
69 """Returns C{True} if nulls are allowed otherwise C{False}.
70 """
71 return self._onlyNullAllowed
72
73
75 """Sets if nulls (and only nulls) are to be allowed.
76
77 @param onlyNullAllowed:
78 If true, only nulls are allowed. If false only non-nulls are
79 allowed. Do we allow nulls?
80 """
81 self._onlyNullAllowed = onlyNullAllowed
82
83
85 """Gets the error message that is displayed in case the value is
86 invalid.
87
88 @return: the Error Message.
89 """
90 return self._errorMessage
91
92
94 """Sets the error message to be displayed on invalid value.
95
96 @param errorMessage:
97 the Error Message to set.
98 """
99 self._errorMessage = errorMessage
100