View Source Ash.Type.CiString (ash v2.7.1)
Stores a case insensitive string in the database
See Ash.CiString
for more information.
A builtin type that can be referenced via :ci_string
constraints
Constraints
:max_length
(non_neg_integer/0
) - Enforces a maximum length on the value:min_length
(non_neg_integer/0
) - Enforces a minimum length on the value:match
- Enforces that the string matches a passed in regex:trim?
(boolean/0
) - Trims the value. The default value istrue
.:allow_empty?
(boolean/0
) - Sets the value tonil
if it's empty. The default value isfalse
.:casing
- Lowercases or uppercases the value, fully discarding case information.
For example, if you don't set this, a value ofFrEd
could be saved to the data layer.FrEd
andfReD
would still compare as equal, but the original casing information is retained. In many cases, this is what you want. In some cases, however, you want to remove all case information. For example, in an email, you may want to support a user inputting an upper case letter, but discard it when saved. The default value isnil
.