---
name: "HTML::Widget::Constraint"
section: "3pm"
platform: "linux"
package: "libhtml-widget-perl"
version: "1.11-7"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/HTML::Widget::Constraint"
---

# HTML::Widget::Constraint(3pm)

Constraint Base Class

## NAME

HTML::Widget::Constraint - Constraint Base Class

## SYNOPSIS

```
    my $c = $widget->constraint( $type, @names );
    $c->message('Validation error.');
    $c->names(@names);
    $c->not(1);
```

## DESCRIPTION

Constraint Base Class.

## METHODS

### default\_message

Arguments: `$message`

Return Value: `$message`

Default error message for failing constraints.

### init

Arguments: `$widget`

Called once when **process()** gets called for the first time.

### javascript

Arguments: `$id`

Should return JavaScript for client side validation and the like.

### msg

### message

Arguments: `$message`

Contains the validation error message.

### mk\_message

Arguments: `$message`

Returns a validation error message.

### names

Arguments: `@names`

Return Value: `@names`

Contains names of params to test.

### not

Arguments: `$bool`

Return Value: `$bool`

Negate constraint.

### prepare

Arguments: `$widget`

Called every time **process()** gets called.

### process

Arguments: `$widget`, `$params`, \\@uploads

Return Value: \\@errors

Validates params and returns a arrayref containing HTML::Widget::Error objects representing failed constraints.

### process\_js

Arguments: `$id`

Returns a hashref containing JavaScripts for client side validation and the like.

### render\_errors

Arguments: `@names`

A list of element names for which an error should be displayed.

If this is not set, the default behaviour is for the error to be displayed  for all of the Constraint's named elements.

### validate

Arguments: `$value`

Return Value: `$bool`

Validates a value and returns 1 or 0.

## AUTHOR

Sebastian Riedel, `"sri@oook.de"`

## LICENSE

This library is free software, you can redistribute it and/or modify it under the same terms as Perl itself.
