'fields' => [
                                'username',
                                { field=>'_password', type=>'password' },
+                               { field=>'_password2', type=>'password' },
                                'last',
                                'first',
                                { field=>'disabled', type=>'checkbox', value=>'Y' },
                                'usernum'   => 'User number',
                                'username'  => 'Username',
                                '_password' => 'Password',
+                               '_password2'=> 'Re-enter Password',
                                'last'      => 'Last name',
                                'first'     => 'First name',
                                'disabled'  => 'Disable employee',
                              },
+                 'edit_callback' => sub { my( $c, $o ) = @_; 
+                                          $o->set('_password2', $o->_password);
+                                        },
                  'viewall_dir' => 'browse',
                  'html_bottom' =>
                    sub {
 
-<% include( 'elements/process.html',
-               'table'       => 'access_user',
-               'viewall_dir' => 'browse',
-               'process_m2m' => { 'link_table'   => 'access_usergroup',
-                                  'target_table' => 'access_group',
-                                },
-           )
+%  if ( $cgi->param('_password') ne $cgi->param('_password2') ) {
+%    $cgi->param('error', "The passwords do not match");
+%    print $cgi->redirect(popurl(2) . "access_user.html?" . $cgi->query_string);
+%  } else {
+<%   include( 'elements/process.html',
+                 'table'       => 'access_user',
+                 'viewall_dir' => 'browse',
+                 'process_m2m' => { 'link_table'   => 'access_usergroup',
+                                    'target_table' => 'access_group',
+                                  },
+             )
 %>
+%   }