View Source Ash.Type.CiString (ash v3.0.2)

Stores a case insensitive string in the database

See Ash.CiString for more information.

A builtin type that can be referenced via :ci_string


  • :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 is true.

  • :allow_empty? (boolean/0) - Sets the value to nil if it's empty. The default value is false.

  • :casing - Lowercases or uppercases the value, fully discarding case information.
    For example, if you don't set this, a value of FrEd could be saved to the data layer. FrEd and fReD 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. Valid values are :upper, :lower, nil The default value is nil.