Login

This is done with a standard DFV validation profile:

sub _login_profile {
  return {
    required => [ qw ( username password ) ],
    msgs     => {
      any_errors => 'some_errors',
      prefix     => 'err_',
    },
  };
}