--- loncom/interface/lonuserutils.pm	2019/07/23 13:58:53	1.201
+++ loncom/interface/lonuserutils.pm	2019/08/25 02:42:56	1.202
@@ -1,7 +1,7 @@
 # The LearningOnline Network with CAPA
 # Utility functions for managing LON-CAPA user accounts
 #
-# $Id: lonuserutils.pm,v 1.201 2019/07/23 13:58:53 raeburn Exp $
+# $Id: lonuserutils.pm,v 1.202 2019/08/25 02:42:56 raeburn Exp $
 #
 # Copyright Michigan State University Board of Trustees
 #
@@ -656,9 +656,14 @@ sub passwd_validation_js {
     my %passwdconf = &Apache::lonnet::get_passwdconf($domain);
     my ($min,$max,@chars,$numrules,$intargjs,%alert);
     $numrules = 0;
+    $min = $Apache::lonnet::passwdmin;
     if (ref($passwdconf{'chars'}) eq 'ARRAY') {
         if ($passwdconf{'min'} =~ /^\d+$/) {
-            $min = $passwdconf{'min'};
+            if ($passwdconf{'min'} > $min) {
+                $min = $passwdconf{'min'};
+                $numrules ++;
+            }
+        } else {
             $numrules ++;
         }
         if ($passwdconf{'max'} =~ /^\d+$/) {
@@ -670,10 +675,9 @@ sub passwd_validation_js {
             $numrules ++;
         }
     } else {
-        $min = 7;
         $numrules ++;
     }
-    if (($min ne '') || ($max ne '') || (@chars > 0)) {
+    if (($min > 0) || ($max ne '') || (@chars > 0)) {
         my $alertmsg = &mt('Initial password did not satisfy requirement(s):').'\n\n';
         if ($min) {
             $alert{'min'} = &mt('minimum [quant,_1,character]',$min).'\n';
@@ -4387,7 +4391,7 @@ sub upfile_drop_add {
         if ((defined($env{'form.intarg'})) && ($env{'form.intarg'})) {
             $genpwd=$env{'form.intarg'};
             @genpwdfail =
-                &Apache::loncommon::check_passwd_rules($domain,$genpwd); 
+                &Apache::loncommon::check_passwd_rules($domain,$genpwd);
         }
     } elsif ($env{'form.login'} eq 'loc') {
         $amode='localauth';