password feedback changes
This commit is contained in:
parent
56c589de15
commit
22590afbe6
17 changed files with 150 additions and 73 deletions
|
@ -430,7 +430,7 @@ namespace WebsitePanel.WebDavPortal.Resources {
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Looks up a localized string similar to Initials.
|
/// Looks up a localized string similar to Middle Initial.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public static string Initials {
|
public static string Initials {
|
||||||
get {
|
get {
|
||||||
|
|
|
@ -235,7 +235,7 @@
|
||||||
<value>Info</value>
|
<value>Info</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Initials" xml:space="preserve">
|
<data name="Initials" xml:space="preserve">
|
||||||
<value>Initials</value>
|
<value>Middle Initial</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="ItemExist" xml:space="preserve">
|
<data name="ItemExist" xml:space="preserve">
|
||||||
<value>File already exist</value>
|
<value>File already exist</value>
|
||||||
|
|
|
@ -379,4 +379,75 @@ p.warningText {font-size:14px; color:Red; text-align:center;}
|
||||||
}
|
}
|
||||||
.ui-menu-item:hover {
|
.ui-menu-item:hover {
|
||||||
background-color: #f0f0f0;
|
background-color: #f0f0f0;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
.tip-bluesimple {
|
||||||
|
z-index:1000;
|
||||||
|
text-align:left;
|
||||||
|
border:1px solid #5e86aa;
|
||||||
|
border-radius:4px;
|
||||||
|
-moz-border-radius:4px;
|
||||||
|
-webkit-border-radius:4px;
|
||||||
|
min-width:50px;
|
||||||
|
max-width:300px;
|
||||||
|
color:#333;
|
||||||
|
background-color:#ffffff;
|
||||||
|
/**
|
||||||
|
* - If you set a background-image, border/padding/background-color will be ingnored.
|
||||||
|
* You can set any padding to .tip-inner instead if you need.
|
||||||
|
* - If you want a tiled background-image and border/padding for the tip,
|
||||||
|
* set the background-image to .tip-inner instead.
|
||||||
|
*/
|
||||||
|
}
|
||||||
|
.tip-bluesimple .tip-inner {
|
||||||
|
font:12px/16px arial,helvetica,sans-serif;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Configure an arrow image - the script will automatically position it on the correct side of the tip */
|
||||||
|
.tip-bluesimple .tip-arrow-top {
|
||||||
|
margin-top:-6px;
|
||||||
|
margin-left:-5px; /* approx. half the width to center it */
|
||||||
|
top:0;
|
||||||
|
left:50%;
|
||||||
|
width:9px;
|
||||||
|
height:6px;
|
||||||
|
}
|
||||||
|
.tip-bluesimple .tip-arrow-right {
|
||||||
|
margin-top:-4px; /* approx. half the height to center it */
|
||||||
|
margin-left:0;
|
||||||
|
top:50%;
|
||||||
|
left:100%;
|
||||||
|
width:6px;
|
||||||
|
height:9px;
|
||||||
|
}
|
||||||
|
.tip-bluesimple .tip-arrow-bottom {
|
||||||
|
margin-top:0;
|
||||||
|
margin-left:-5px; /* approx. half the width to center it */
|
||||||
|
top:100%;
|
||||||
|
left:50%;
|
||||||
|
width:9px;
|
||||||
|
height:6px;
|
||||||
|
}
|
||||||
|
.tip-bluesimple .tip-arrow-left {
|
||||||
|
margin-top:-3px; /* approx. half the height to center it */
|
||||||
|
margin-left:-6px;
|
||||||
|
top:50%;
|
||||||
|
left:0;
|
||||||
|
width:6px;
|
||||||
|
height:9px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.popover-title {
|
||||||
|
padding: 8px 14px;
|
||||||
|
margin: 0 !important;
|
||||||
|
font-size: 14px;
|
||||||
|
background-color: #f7f7f7;
|
||||||
|
border-bottom: 1px solid #ebebeb;
|
||||||
|
border-radius: 5px 5px 0 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.popover-content {
|
||||||
|
padding:6px 8px;
|
||||||
}
|
}
|
|
@ -163,7 +163,7 @@
|
||||||
<value>Home Phone:</value>
|
<value>Home Phone:</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="locInitials.Text" xml:space="preserve">
|
<data name="locInitials.Text" xml:space="preserve">
|
||||||
<value>Initials:</value>
|
<value>Middle Initial:</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="locJobTitle.Text" xml:space="preserve">
|
<data name="locJobTitle.Text" xml:space="preserve">
|
||||||
<value>Job Title:</value>
|
<value>Job Title:</value>
|
||||||
|
|
|
@ -157,7 +157,7 @@
|
||||||
<value>Home Phone:</value>
|
<value>Home Phone:</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="locInitials.Text" xml:space="preserve">
|
<data name="locInitials.Text" xml:space="preserve">
|
||||||
<value>Initials:</value>
|
<value>Middle Initial:</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="locJobTitle.Text" xml:space="preserve">
|
<data name="locJobTitle.Text" xml:space="preserve">
|
||||||
<value>Job Title:</value>
|
<value>Job Title:</value>
|
||||||
|
|
|
@ -166,7 +166,7 @@
|
||||||
<value>Home Phone:</value>
|
<value>Home Phone:</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="locInitials.Text" xml:space="preserve">
|
<data name="locInitials.Text" xml:space="preserve">
|
||||||
<value>Initials:</value>
|
<value>Middle Initial:</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="locJobTitle.Text" xml:space="preserve">
|
<data name="locJobTitle.Text" xml:space="preserve">
|
||||||
<value>Job Title:</value>
|
<value>Job Title:</value>
|
||||||
|
|
|
@ -61,7 +61,7 @@
|
||||||
<td>
|
<td>
|
||||||
<asp:TextBox ID="txtFirstName" runat="server" CssClass="TextBox100"></asp:TextBox>
|
<asp:TextBox ID="txtFirstName" runat="server" CssClass="TextBox100"></asp:TextBox>
|
||||||
|
|
||||||
<asp:Localize ID="locInitials" runat="server" meta:resourcekey="locInitials" Text="Initials:" />
|
<asp:Localize ID="locInitials" runat="server" meta:resourcekey="locInitials" Text="Middle Initial:" />
|
||||||
<asp:TextBox ID="txtInitials" runat="server" CssClass="TextBox100"></asp:TextBox>
|
<asp:TextBox ID="txtInitials" runat="server" CssClass="TextBox100"></asp:TextBox>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
|
|
@ -1,31 +1,3 @@
|
||||||
// Copyright (c) 2015, Outercurve Foundation.
|
|
||||||
// All rights reserved.
|
|
||||||
//
|
|
||||||
// Redistribution and use in source and binary forms, with or without modification,
|
|
||||||
// are permitted provided that the following conditions are met:
|
|
||||||
//
|
|
||||||
// - Redistributions of source code must retain the above copyright notice, this
|
|
||||||
// list of conditions and the following disclaimer.
|
|
||||||
//
|
|
||||||
// - Redistributions in binary form must reproduce the above copyright notice,
|
|
||||||
// this list of conditions and the following disclaimer in the documentation
|
|
||||||
// and/or other materials provided with the distribution.
|
|
||||||
//
|
|
||||||
// - Neither the name of the Outercurve Foundation nor the names of its
|
|
||||||
// contributors may be used to endorse or promote products derived from this
|
|
||||||
// software without specific prior written permission.
|
|
||||||
//
|
|
||||||
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
|
||||||
// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
|
||||||
// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
|
||||||
// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
|
|
||||||
// ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
|
||||||
// (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
|
||||||
// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
|
|
||||||
// ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
|
||||||
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
|
||||||
// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
||||||
|
|
||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
// <auto-generated>
|
// <auto-generated>
|
||||||
// This code was generated by a tool.
|
// This code was generated by a tool.
|
||||||
|
|
|
@ -73,7 +73,7 @@
|
||||||
<td>
|
<td>
|
||||||
<asp:TextBox ID="txtFirstName" runat="server" CssClass="TextBox100" onKeyUp="buildDisplayName();"></asp:TextBox>
|
<asp:TextBox ID="txtFirstName" runat="server" CssClass="TextBox100" onKeyUp="buildDisplayName();"></asp:TextBox>
|
||||||
|
|
||||||
<asp:Localize ID="locInitials" runat="server" meta:resourcekey="locInitials" Text="Initials:" />
|
<asp:Localize ID="locInitials" runat="server" meta:resourcekey="locInitials" Text="Middle Initial:" />
|
||||||
<asp:TextBox ID="txtInitials" runat="server" MaxLength="6" CssClass="TextBox100" onKeyUp="buildDisplayName();"></asp:TextBox>
|
<asp:TextBox ID="txtInitials" runat="server" MaxLength="6" CssClass="TextBox100" onKeyUp="buildDisplayName();"></asp:TextBox>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
|
|
@ -47,7 +47,7 @@
|
||||||
<td>
|
<td>
|
||||||
<asp:TextBox ID="txtFirstName" runat="server" CssClass="TextBox100" onKeyUp="buildDisplayName();"></asp:TextBox>
|
<asp:TextBox ID="txtFirstName" runat="server" CssClass="TextBox100" onKeyUp="buildDisplayName();"></asp:TextBox>
|
||||||
|
|
||||||
<asp:Localize ID="locInitials" runat="server" meta:resourcekey="locInitials" Text="Initials:" />
|
<asp:Localize ID="locInitials" runat="server" meta:resourcekey="locInitials" Text="Middle Initial:" />
|
||||||
<asp:TextBox ID="txtInitials" runat="server" MaxLength="6" CssClass="TextBox100" onKeyUp="buildDisplayName();"></asp:TextBox>
|
<asp:TextBox ID="txtInitials" runat="server" MaxLength="6" CssClass="TextBox100" onKeyUp="buildDisplayName();"></asp:TextBox>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
|
|
@ -77,7 +77,7 @@
|
||||||
<td>
|
<td>
|
||||||
<asp:label ID="lblFirstName" runat="server"></asp:label>
|
<asp:label ID="lblFirstName" runat="server"></asp:label>
|
||||||
|
|
||||||
<asp:Localize ID="locInitials" runat="server" meta:resourcekey="locInitials" Text="Initials:" />
|
<asp:Localize ID="locInitials" runat="server" meta:resourcekey="locInitials" Text="Middle Initial:" />
|
||||||
<asp:Label ID="lblInitials" runat="server"></asp:Label>
|
<asp:Label ID="lblInitials" runat="server"></asp:Label>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
|
|
@ -95,7 +95,7 @@
|
||||||
<td>
|
<td>
|
||||||
<asp:TextBox ID="txtFirstName" runat="server" CssClass="TextBox100"></asp:TextBox>
|
<asp:TextBox ID="txtFirstName" runat="server" CssClass="TextBox100"></asp:TextBox>
|
||||||
|
|
||||||
<asp:Localize ID="locInitials" runat="server" meta:resourcekey="locInitials" Text="Initials:" />
|
<asp:Localize ID="locInitials" runat="server" meta:resourcekey="locInitials" Text="Middle Initial:" />
|
||||||
<asp:TextBox ID="txtInitials" runat="server" MaxLength="6" CssClass="TextBox100"></asp:TextBox>
|
<asp:TextBox ID="txtInitials" runat="server" MaxLength="6" CssClass="TextBox100"></asp:TextBox>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
@ -294,4 +294,5 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
|
@ -9,7 +9,8 @@
|
||||||
<asp:HyperLink ID="lnkGenerate" runat="server" NavigateUrl="#" meta:resourcekey="lnkGenerate" Visible="false">Generate random</asp:HyperLink></td>
|
<asp:HyperLink ID="lnkGenerate" runat="server" NavigateUrl="#" meta:resourcekey="lnkGenerate" Visible="false">Generate random</asp:HyperLink></td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td class="SubHead"><asp:Label id="lblConfirmPassword" runat="server" meta:resourcekey="lblConfirmPassword"></asp:Label></td>
|
<td class="SubHead">
|
||||||
|
<asp:Label ID="lblConfirmPassword" runat="server" meta:resourcekey="lblConfirmPassword"></asp:Label></td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td class="Normal">
|
<td class="Normal">
|
||||||
|
@ -18,7 +19,7 @@
|
||||||
meta:resourcekey="valRequireConfirmPassword" ErrorMessage="*" ControlToValidate="txtConfirmPassword" SetFocusOnError="True"></asp:RequiredFieldValidator>
|
meta:resourcekey="valRequireConfirmPassword" ErrorMessage="*" ControlToValidate="txtConfirmPassword" SetFocusOnError="True"></asp:RequiredFieldValidator>
|
||||||
<asp:CompareValidator ID="valRequireEqualPassword" runat="server" ControlToCompare="txtPassword"
|
<asp:CompareValidator ID="valRequireEqualPassword" runat="server" ControlToCompare="txtPassword"
|
||||||
ControlToValidate="txtConfirmPassword" meta:resourcekey="valRequireEqualPassword" Display="Dynamic" ErrorMessage="*"></asp:CompareValidator>
|
ControlToValidate="txtConfirmPassword" meta:resourcekey="valRequireEqualPassword" Display="Dynamic" ErrorMessage="*"></asp:CompareValidator>
|
||||||
|
|
||||||
<asp:CustomValidator ID="valCorrectLength" runat="server"
|
<asp:CustomValidator ID="valCorrectLength" runat="server"
|
||||||
ControlToValidate="txtPassword" ErrorMessage="len" Display="Dynamic" Enabled="false"
|
ControlToValidate="txtPassword" ErrorMessage="len" Display="Dynamic" Enabled="false"
|
||||||
ClientValidationFunction="wspValidatePasswordLength" OnServerValidate="valCorrectLength_ServerValidate"></asp:CustomValidator>
|
ClientValidationFunction="wspValidatePasswordLength" OnServerValidate="valCorrectLength_ServerValidate"></asp:CustomValidator>
|
||||||
|
@ -33,4 +34,55 @@
|
||||||
ClientValidationFunction="wspValidatePasswordSymbols" OnServerValidate="valRequireSymbols_ServerValidate"></asp:CustomValidator>
|
ClientValidationFunction="wspValidatePasswordSymbols" OnServerValidate="valRequireSymbols_ServerValidate"></asp:CustomValidator>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
</table>
|
</table>
|
||||||
|
|
||||||
|
|
||||||
|
<% if (ValidationEnabled)
|
||||||
|
{%>
|
||||||
|
<div style="display: none;" id="password-hint-popup">
|
||||||
|
<h3 class="popover-title">
|
||||||
|
Password must meet the following requirements:
|
||||||
|
</h3>
|
||||||
|
<ul class="popover-content">
|
||||||
|
|
||||||
|
<li><%= string.Format("Password should be at least {0} characters", MinimumLength) %>
|
||||||
|
</li>
|
||||||
|
<li><%= string.Format("Password should be maximum {0} characters", MaximumLength) %>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
<% if (MinimumUppercase > 0)
|
||||||
|
{%>
|
||||||
|
<li><%= string.Format("Password should contain at least {0} UPPERCASE characters", MinimumUppercase) %>
|
||||||
|
</li>
|
||||||
|
<% }%>
|
||||||
|
<% if (MinimumNumbers > 0)
|
||||||
|
{%>
|
||||||
|
<li><%= string.Format("Password should contain at least {0} numbers", MinimumNumbers) %>
|
||||||
|
</li>
|
||||||
|
<% }%>
|
||||||
|
<% if (MinimumSymbols > 0)
|
||||||
|
{%>
|
||||||
|
<li><%= string.Format("Password should contain at least {0} non-alphanumeric symbols", MinimumSymbols) %>
|
||||||
|
</li>
|
||||||
|
<% }%>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
<% }%>
|
||||||
|
|
||||||
|
|
||||||
|
<script>
|
||||||
|
|
||||||
|
$(document).ready(function () {
|
||||||
|
$('#<%=txtPassword.ClientID%>').poshytip({
|
||||||
|
className: 'tip-bluesimple',
|
||||||
|
showOn: 'focus',
|
||||||
|
alignTo: 'target',
|
||||||
|
alignX: 'center',
|
||||||
|
alignY: 'bottom',
|
||||||
|
offsetX: 2,
|
||||||
|
content: function () {
|
||||||
|
return $('#password-hint-popup').html();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
});
|
||||||
|
</script>
|
||||||
|
|
|
@ -277,7 +277,9 @@ namespace WebsitePanel.Portal
|
||||||
return ((matches != null) && matches.length >= minMatches);
|
return ((matches != null) && matches.length >= minMatches);
|
||||||
}
|
}
|
||||||
", true);
|
", true);
|
||||||
|
|
||||||
|
|
||||||
|
Page.ClientScript.RegisterClientScriptInclude("jqueryui-tooltip", ResolveUrl("~/JavaScript/jquery.poshytip.min.js"));
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,38 +1,9 @@
|
||||||
// Copyright (c) 2015, Outercurve Foundation.
|
|
||||||
// All rights reserved.
|
|
||||||
//
|
|
||||||
// Redistribution and use in source and binary forms, with or without modification,
|
|
||||||
// are permitted provided that the following conditions are met:
|
|
||||||
//
|
|
||||||
// - Redistributions of source code must retain the above copyright notice, this
|
|
||||||
// list of conditions and the following disclaimer.
|
|
||||||
//
|
|
||||||
// - Redistributions in binary form must reproduce the above copyright notice,
|
|
||||||
// this list of conditions and the following disclaimer in the documentation
|
|
||||||
// and/or other materials provided with the distribution.
|
|
||||||
//
|
|
||||||
// - Neither the name of the Outercurve Foundation nor the names of its
|
|
||||||
// contributors may be used to endorse or promote products derived from this
|
|
||||||
// software without specific prior written permission.
|
|
||||||
//
|
|
||||||
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
|
||||||
// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
|
||||||
// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
|
||||||
// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
|
|
||||||
// ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
|
||||||
// (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
|
||||||
// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
|
|
||||||
// ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
|
||||||
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
|
||||||
// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
||||||
|
|
||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
// <auto-generated>
|
// <auto-generated>
|
||||||
// This code was generated by a tool.
|
// This code was generated by a tool.
|
||||||
// Runtime Version:2.0.50727.1873
|
|
||||||
//
|
//
|
||||||
// Changes to this file may cause incorrect behavior and will be lost if
|
// Changes to this file may cause incorrect behavior and will be lost if
|
||||||
// the code is regenerated.
|
// the code is regenerated.
|
||||||
// </auto-generated>
|
// </auto-generated>
|
||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
|
7
WebsitePanel/Sources/WebsitePanel.WebPortal/JavaScript/jquery.poshytip.min.js
vendored
Normal file
7
WebsitePanel/Sources/WebsitePanel.WebPortal/JavaScript/jquery.poshytip.min.js
vendored
Normal file
File diff suppressed because one or more lines are too long
|
@ -241,6 +241,7 @@
|
||||||
<Content Include="Error.htm" />
|
<Content Include="Error.htm" />
|
||||||
<Content Include="JavaScript\jquery-1.4.4.min.js" />
|
<Content Include="JavaScript\jquery-1.4.4.min.js" />
|
||||||
<Content Include="JavaScript\jquery-ui-1.8.9.min.js" />
|
<Content Include="JavaScript\jquery-ui-1.8.9.min.js" />
|
||||||
|
<Content Include="JavaScript\jquery.poshytip.min.js" />
|
||||||
<Content Include="JavaScript\jquery.window.js" />
|
<Content Include="JavaScript\jquery.window.js" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue