constraintMessage method

String? constraintMessage(
  1. EvaluationContext context,
  2. FormInstance instance,
  3. String? textForm
)

The message to show: the literal message (only for the default textForm), or the localized one for jr:itext(...) messages.

Implementation

String? constraintMessage(
  EvaluationContext context,
  FormInstance instance,
  String? textForm,
) {
  final expression = _messageExpression;
  if (expression == null) return textForm == null ? message : null;
  if (textForm != null) context.outputTextForm = textForm;
  try {
    final value = expression.eval(instance, context);
    return value is String && value.isNotEmpty ? value : null;
  } on Object {
    return message;
  }
}